commit
cb642c5d2c
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -781,7 +781,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(card.name=='sha'){
|
||||
var equip1=player.getEquip('zhuque');
|
||||
if(equip1&&equip1.name=='zhuque') return 1.9;
|
||||
if(!card.hasNature()) return 'zerotarget';
|
||||
if(!game.hasNature(card)) return 'zerotarget';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -810,7 +810,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(card.name=='sha'){
|
||||
if(card.hasNature('fire')) return 2;
|
||||
if(game.hasNature(card,'fire')) return 2;
|
||||
if(player.hasSkill('zhuque_skill')) return 1.9;
|
||||
}
|
||||
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
||||
|
@ -830,7 +830,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
target:player,
|
||||
card:event.card
|
||||
})) return false;
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
|
@ -906,7 +906,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'useCard1'},
|
||||
//priority:7,
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
},
|
||||
audio:true,
|
||||
check:function(event,player){
|
||||
|
|
|
@ -1185,7 +1185,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}))+'的【诏书】上';
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
target.addToExpansion(cards,player,'give').gaintag.add('zhaoshu_cards');
|
||||
'step 1'
|
||||
target.markSkill('zhaoshu_skill');
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
|
@ -1211,7 +1214,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
filter:function(event,player){
|
||||
if(['huoshaolianying','huogong'].contains(event.card.name)) return true;
|
||||
if(event.card.name=='sha') return event.card.hasNature('fire');
|
||||
if(event.card.name=='sha') return game.hasNature(event.card,'fire');
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
|
@ -1220,7 +1223,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(['huoshaolianying','huogong'].contains(card.name)||(card.name=='sha'&&card.hasNature('fire'))){
|
||||
if(['huoshaolianying','huogong'].contains(card.name)||(card.name=='sha'&&game.hasNature(card,'fire'))){
|
||||
return 'zeroplayertarget';
|
||||
}
|
||||
},
|
||||
|
|
468
card/standard.js
468
card/standard.js
|
@ -134,7 +134,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(event.shanRequired>1){
|
||||
next.set('prompt2','(共需使用'+event.shanRequired+'张闪)');
|
||||
}
|
||||
else if(event.card.hasNature('stab')){
|
||||
else if(game.hasNature(event.card,'stab')){
|
||||
next.set('prompt2','(在此之后仍需弃置一张手牌)');
|
||||
}
|
||||
next.set('ai1',function(card){
|
||||
|
@ -168,7 +168,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
if(event.shanRequired>0){
|
||||
event.goto(1);
|
||||
}
|
||||
else if(event.card.hasNature('stab')&&target.countCards('h')>0){
|
||||
else if(game.hasNature(event.card,'stab')&&target.countCards('h')>0){
|
||||
event.responded=result;
|
||||
event.goto(4);
|
||||
}
|
||||
|
@ -265,7 +265,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
order:function(item,player){
|
||||
if(player.hasSkillTag('presha',true,null,true)) return 10;
|
||||
if(item.hasNature('linked')){
|
||||
if(game.hasNature(item,'linked')){
|
||||
if(game.hasPlayer(function(current){
|
||||
return current!=player&¤t.isLinked()&&player.canUse(item,current,null,true)&&get.effect(current,item,player,player)>0&&lib.card.sha.ai.canLink(player,current,item);
|
||||
})&&game.countPlayer(function(current){
|
||||
|
@ -306,20 +306,20 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
respond:1,
|
||||
respondShan:1,
|
||||
damage:function(card){
|
||||
if(card.hasNature('poison')) return;
|
||||
if(game.hasNature(card,'poison')) return;
|
||||
return 1;
|
||||
},
|
||||
natureDamage:function(card){
|
||||
if(card.hasNature()) return 1;
|
||||
if(game.hasNature(card)) return 1;
|
||||
},
|
||||
fireDamage:function(card,nature){
|
||||
if(card.hasNature('fire')) return 1;
|
||||
if(game.hasNature(card,'fire')) return 1;
|
||||
},
|
||||
thunderDamage:function(card,nature){
|
||||
if(card.hasNature('thunder')) return 1;
|
||||
if(game.hasNature(card,'thunder')) return 1;
|
||||
},
|
||||
poisonDamage:function(card,nature){
|
||||
if(card.hasNature('poison')) return 1;
|
||||
if(game.hasNature(card,'poison')) return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -338,20 +338,20 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
respond:1,
|
||||
respondShan:1,
|
||||
damage:function(card){
|
||||
if(card.hasNature('poison')) return;
|
||||
if(game.hasNature(card,'poison')) return;
|
||||
return 1;
|
||||
},
|
||||
natureDamage:function(card){
|
||||
if(card.hasNature()) return 1;
|
||||
if(game.hasNature(card)) return 1;
|
||||
},
|
||||
fireDamage:function(card,nature){
|
||||
if(card.hasNature('fire')) return 1;
|
||||
if(game.hasNature(card,'fire')) return 1;
|
||||
},
|
||||
thunderDamage:function(card,nature){
|
||||
if(card.hasNature('thunder')) return 1;
|
||||
if(game.hasNature(card,'thunder')) return 1;
|
||||
},
|
||||
poisonDamage:function(card,nature){
|
||||
if(card.hasNature('poison')) return 1;
|
||||
if(game.hasNature(card,'poison')) return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -399,68 +399,114 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
target.recover();
|
||||
},
|
||||
ai:{
|
||||
basic:{
|
||||
order:function(card,player){
|
||||
if(player.hasSkillTag('pretao')) return 5;
|
||||
basic: {
|
||||
order: function (card, player) {
|
||||
if (player.hasSkillTag('pretao')) return 9;
|
||||
return 2;
|
||||
},
|
||||
useful:[6.5,4,3,2],
|
||||
value:[6.5,4,3,2],
|
||||
useful: function (card, i) {
|
||||
let player = _status.event.player;
|
||||
if (player.isDamaged() && !game.checkMod(card, player, 'unchanged', 'cardEnabled2', player)) return 2 / (1 + i);
|
||||
let fs = game.filterPlayer(function (current) {
|
||||
return get.attitude(player, current) > 0 && current.hp <= 2;
|
||||
}), damaged = 0, needs = 0;
|
||||
for (let f of fs) {
|
||||
if (!lib.filter.cardSavable(card, player, f)) continue;
|
||||
if (f.hp > 1) damaged++;
|
||||
else needs++;
|
||||
}
|
||||
if (needs && damaged) return 5 * needs + 3 * damaged;
|
||||
if (needs + damaged > 1 || player.hasSkillTag('maixie')) return 8;
|
||||
if (player.hp / player.maxHp < 0.7) return 7 + Math.abs(player.hp / player.maxHp - 0.5);
|
||||
if (needs) return 7;
|
||||
if (damaged) return Math.max(3, 6.4 - i);
|
||||
return 6.8 - Math.min(5, player.hp);
|
||||
},
|
||||
result:{
|
||||
target:2,
|
||||
target_use:function(player,target){
|
||||
// if(player==target&&player.hp<=0) return 2;
|
||||
if(player.hasSkillTag('nokeep',true,null,true)) return 2;
|
||||
var nd=player.needsToDiscard();
|
||||
var keep=false;
|
||||
if(nd<=0){
|
||||
keep=true;
|
||||
value: function (card, player, i) {
|
||||
let fs = game.filterPlayer(function (current) {
|
||||
return get.attitude(_status.event.player, current) > 0;
|
||||
}), damaged = 0, needs = 0;
|
||||
for (let i of fs) {
|
||||
if (!player.canUse('tao', i)) continue;
|
||||
if (i.hp <= 1) needs++;
|
||||
else if (i.hp == 2) damaged++;
|
||||
}
|
||||
else if(nd==1&&target.hp>=2&&target.countCards('h','tao')<=1){
|
||||
keep=true;
|
||||
if (needs > 2) return 11;
|
||||
if (needs > 1) return 10;
|
||||
if ((needs && damaged) || player.hasSkillTag('maixie')) return 9;
|
||||
if (needs || damaged > 1) return 8;
|
||||
if (damaged) return 7.5;
|
||||
return Math.max(1, 9.2 - player.hp);
|
||||
}
|
||||
var mode=get.mode();
|
||||
if(target.hp>=2&&keep&&target.hasFriend()){
|
||||
if(target.hp>2||nd==0) return 0;
|
||||
if(target.hp==2){
|
||||
if(game.hasPlayer(function(current){
|
||||
if(target!=current&&get.attitude(target,current)>=3){
|
||||
if(current.hp<=1) return true;
|
||||
if((mode=='identity'||mode=='versus'||mode=='chess')&¤t.identity=='zhu'&¤t.hp<=2) return true;
|
||||
},
|
||||
result: {
|
||||
target: function (player, target) {
|
||||
if (target.hasSkillTag('maixie')) return 3;
|
||||
return 2;
|
||||
},
|
||||
target_use: function (player, target, card) {
|
||||
if (player === _status.currentPhase && player.hasSkillTag('nokeep', true, {card:card,target:target}, true)) return 2;
|
||||
let mode = get.mode();
|
||||
if (target.hp > 0) {
|
||||
let nd = player.needsToDiscard();
|
||||
let keep = false;
|
||||
if (player.isPhaseUsing()) {
|
||||
if (nd <= 0 || (nd === 1 && target.hp >= 2 && player.countCards('hs', 'tao') <= 1)) keep = true;
|
||||
}
|
||||
if (keep) {
|
||||
if (!nd || nd < 2 && game.hasPlayer(function (current) {
|
||||
if (current.hp <= 2 && player !== current && get.attitude(player, current) > 2) {
|
||||
if(target.hp >= 2 && current.identity === 'zhu' && (mode === 'identity' || mode === 'versus' || mode === 'chess')){
|
||||
keep=2;
|
||||
return true;
|
||||
}
|
||||
if (player.hp > current.hp) return true;
|
||||
}
|
||||
return false;
|
||||
})){
|
||||
if(keep>1) return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(target.isZhu2() || target===game.boss) return 2;
|
||||
if(player !== target){
|
||||
if (target.hp < 0 && player.countCards('hs', 'tao') + target.hp <= 0) return 0;
|
||||
if (Math.abs(get.attitude(player, target)) < 1.2) return 0;
|
||||
}
|
||||
if (!player.getFriends().length) return 2;
|
||||
let tri = _status.event.getTrigger(),
|
||||
num = game.countPlayer(function (current) {
|
||||
if (get.attitude(current, target) > 0) return current.countCards('hs', 'tao');
|
||||
}),
|
||||
dis = 1,
|
||||
t = _status.currentPhase;
|
||||
while (t !== target) {
|
||||
let att = get.attitude(player, t);
|
||||
if (Math.abs(att) < 2) dis += 0.45;
|
||||
else if (att < 0) dis++;
|
||||
t = t.next;
|
||||
}
|
||||
if (mode === 'identity') {
|
||||
if (tri && tri.name === 'dying') {
|
||||
if (target.identity === 'fan') {
|
||||
if (!tri.source && player !== target || tri.source && tri.source !== target && player.getFriends().includes(tri.source.identity)) {
|
||||
if (num > dis || (player === target && player.countCards('hs', {type: 'basic'}) > 1.6 * dis)) return 2;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(tri.source&&tri.source.isZhu&&(target.identity==='zhong'||target.identity==='mingzhong')&&
|
||||
(tri.source.countCards('he')>2||player===tri.source&&player.hasCard((i)=>i.name!='tao','he'))) return 2;
|
||||
//if(player!==target&&!target.isZhu&&target.countCards('hs')<dis) return 0;
|
||||
}
|
||||
if(target.hp<0&&target!=player&&target.identity!='zhu') return 0;
|
||||
var att=get.attitude(player,target);
|
||||
if(att<3&&att>=0&&player!=target) return 0;
|
||||
var tri=_status.event.getTrigger();
|
||||
if(mode=='identity'&&player.identity=='fan'&&target.identity=='fan'){
|
||||
if(tri&&tri.name=='dying'&&tri.source&&tri.source.identity=='fan'&&tri.source!=target){
|
||||
var num=game.countPlayer(function(current){
|
||||
if(current.identity=='fan'){
|
||||
return current.countCards('h','tao');
|
||||
}
|
||||
});
|
||||
if(num>1&&player==target) return 2;
|
||||
return 0;
|
||||
if (player.identity === 'zhu') {
|
||||
if (player.hp <= 1 && player !== target && player.countCards('hs', 'tao') + player.countCards('hs', 'jiu') <= Math.min(dis, game.countPlayer(function (current) {
|
||||
return current.identity === 'fan';
|
||||
}))) return 0;
|
||||
}
|
||||
}
|
||||
if(mode=='identity'&&player.identity=='zhu'&&target.identity=='nei'){
|
||||
if(tri&&tri.name=='dying'&&tri.source&&tri.source.identity=='zhong'){
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if(mode=='stone'&&target.isMin()&&
|
||||
player!=target&&tri&&tri.name=='dying'&&player.side==target.side&&
|
||||
tri.source!=target.getEnemy()){
|
||||
return 0;
|
||||
}
|
||||
else if (mode === 'stone' && target.isMin() && player !== target && tri && tri.name === 'dying' && player.side === target.side && tri.source !== target.getEnemy()) return 0;
|
||||
return 2;
|
||||
},
|
||||
}
|
||||
},
|
||||
tag:{
|
||||
recover:1,
|
||||
|
@ -888,10 +934,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
reverseOrder:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
if(typeof event.shaRequired!='number'||!event.shaRequired||event.shaRequired<0) event.shaRequired=1;
|
||||
if(typeof event.baseDamage!='number') event.baseDamage=1;
|
||||
"step 1"
|
||||
if(event.directHit) event._result={bool:false};
|
||||
else{
|
||||
var next=target.chooseToRespond({name:'sha'});
|
||||
if(event.shaRequired>1){
|
||||
next.set('prompt2','共需打出'+event.shaRequired+'张杀');
|
||||
}
|
||||
next.set('ai',function(card){
|
||||
var evt=_status.event.getParent();
|
||||
if(get.damageEffect(evt.target,evt.player,evt.target)>=0) return 0;
|
||||
|
@ -901,10 +952,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
next.autochoose=lib.filter.autoRespondSha;
|
||||
}
|
||||
"step 1"
|
||||
"step 2"
|
||||
if(result.bool==false){
|
||||
target.damage();
|
||||
}
|
||||
else{
|
||||
event.shaRequired--;
|
||||
if(event.shaRequired>0) event.goto(1);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
wuxie:function(target,card,player,viewer){
|
||||
|
@ -960,10 +1015,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
if(typeof event.shanRequired!='number'||!event.shanRequired||event.shanRequired<0) event.shanRequired=1;
|
||||
if(typeof event.baseDamage!='number') event.baseDamage=1;
|
||||
"step 1"
|
||||
if(event.directHit) event._result={bool:false};
|
||||
else{
|
||||
var next=target.chooseToRespond({name:'shan'});
|
||||
if(event.shanRequired>1){
|
||||
next.set('prompt2','共需打出'+event.shanRequired+'张闪');
|
||||
}
|
||||
next.set('ai',function(card){
|
||||
var evt=_status.event.getParent();
|
||||
if(get.damageEffect(evt.target,evt.player,evt.target)>=0) return 0;
|
||||
|
@ -976,10 +1036,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
next.autochoose=lib.filter.autoRespondShan;
|
||||
}
|
||||
"step 1"
|
||||
"step 2"
|
||||
if(result.bool==false){
|
||||
target.damage();
|
||||
}
|
||||
else{
|
||||
event.shanRequired--;
|
||||
if(event.shanRequired>0) event.goto(1);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
wuxie:function(target,card,player,viewer){
|
||||
|
@ -1130,10 +1194,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
"step 3"
|
||||
if(event.target.isDead()||event.player.isDead()){
|
||||
event.finish();
|
||||
}
|
||||
else{
|
||||
if(result.bool){
|
||||
event.shaRequired--;
|
||||
if(event.turn==target){
|
||||
|
@ -1161,7 +1221,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
player.damage(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
event._result={};
|
||||
},
|
||||
ai:{
|
||||
wuxie:function(target,card,player,viewer){
|
||||
|
@ -1223,7 +1283,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(player==target) return false;
|
||||
return target.countGainableCards(player,get.is.single()?'he':'hej')>0;
|
||||
return target.hasCard(card=>lib.filter.canBeGained(card,target,player),get.is.single()?'he':'hej');
|
||||
},
|
||||
content:function(){
|
||||
var position=get.is.single()?'he':'hej';
|
||||
|
@ -1244,27 +1304,47 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(get.attitude(player,target)<=0) return (target.countCards('he',function(card){
|
||||
const hs=target.getGainableCards(player,'h');
|
||||
const es=target.getGainableCards(player,'e');
|
||||
const js=target.getGainableCards(player,'j');
|
||||
|
||||
if(get.attitude(player,target)<=0){
|
||||
if(hs.length>0) return -1.5;
|
||||
return (es.some(card=>{
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})>0)?-1.5:1.5;
|
||||
return (target.countCards('ej',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<=0;
|
||||
})||js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0)?1.5:-1.5;
|
||||
}))?-1.5:1.5;
|
||||
}
|
||||
return (es.some(card=>{
|
||||
return get.value(card,target)<=0;
|
||||
})||js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
}))?1.5:-1.5;
|
||||
},
|
||||
player:function(player,target){
|
||||
if(get.attitude(player,target)<0&&!target.countCards('he',function(card){
|
||||
const hs=target.getGainableCards(player,'h');
|
||||
const es=target.getGainableCards(player,'e');
|
||||
const js=target.getGainableCards(player,'j');
|
||||
|
||||
const att=get.attitude(player,target);
|
||||
if(att<0){
|
||||
if(!hs.length&&!es.some(card=>{
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})){
|
||||
return 0;
|
||||
}
|
||||
if(get.attitude(player,target)>1){
|
||||
return (target.countCards('ej',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<=0;
|
||||
})&&!js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0)?1.5:-1.5;
|
||||
})) return 0;
|
||||
}
|
||||
else if(att>1){
|
||||
return (es.some(card=>{
|
||||
return get.value(card,target)<=0;
|
||||
})||js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
}))?1.5:0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -1283,28 +1363,52 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
value:9
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(get.attitude(player,target)<=0) return (target.countCards('he',function(card){
|
||||
target:function(player,target,card){
|
||||
let position='hej';
|
||||
if(card&&card.position) position=card.position;
|
||||
const hs=position.includes('h')?target.getGainableCards(player,'h'):[];
|
||||
const es=position.includes('e')?target.getGainableCards(player,'e'):[];
|
||||
const js=position.includes('j')?target.getGainableCards(player,'j'):[];
|
||||
|
||||
if(get.attitude(player,target)<=0){
|
||||
if(hs.length>0) return -1.5;
|
||||
return (es.some(card=>{
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})>0)?-1.5:1.5;
|
||||
return (target.countCards('ej',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<=0;
|
||||
})||js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0)?1.5:-1.5;
|
||||
},
|
||||
player:function(player,target){
|
||||
if(get.attitude(player,target)<0&&!target.countCards('he',function(card){
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})){
|
||||
return 0;
|
||||
}))?-1.5:1.5;
|
||||
}
|
||||
if(get.attitude(player,target)>1){
|
||||
return (target.countCards('ej',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<=0;
|
||||
return (es.some(card=>{
|
||||
return get.value(card,target)<=0;
|
||||
})||js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0)?1.5:-1.5;
|
||||
}))?1.5:-1.5;
|
||||
},
|
||||
player:function(player,target,card){
|
||||
let position='hej';
|
||||
if(card&&card.position) position=card.position;
|
||||
const hs=position.includes('h')?target.getGainableCards(player,'h'):[];
|
||||
const es=position.includes('e')?target.getGainableCards(player,'e'):[];
|
||||
const js=position.includes('j')?target.getGainableCards(player,'j'):[];
|
||||
|
||||
const att=get.attitude(player,target);
|
||||
if(att<0){
|
||||
if(!hs.length&&!es.some(card=>{
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})&&!js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})) return 0;
|
||||
}
|
||||
else if(att>1){
|
||||
return (es.some(card=>{
|
||||
return get.value(card,target)<=0;
|
||||
})||js.some(card=>{
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
}))?1.5:0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -1323,28 +1427,17 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
value:9
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(get.attitude(player,target)<=0) return (target.countCards('he',function(card){
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})>0)?-1.5:1.5;
|
||||
return (target.countCards('e',function(card){
|
||||
return get.value(card,target)<=0;
|
||||
})>0)?1.5:-1.5;
|
||||
target:function(player,target,card,isLink){
|
||||
return lib.card.shunshou_copy.ai.result.target(player,target,{
|
||||
name:'shunshou_copy',
|
||||
position:'he',
|
||||
},isLink)
|
||||
},
|
||||
player:function(player,target){
|
||||
if(get.attitude(player,target)<0&&!target.countCards('he',function(card){
|
||||
return get.value(card,target)>0&&card!=target.getEquip('jinhe');
|
||||
})){
|
||||
return 0;
|
||||
}
|
||||
if(get.attitude(player,target)>1){
|
||||
return (target.countCards('ej',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<=0;
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0)?1.5:-1.5;
|
||||
}
|
||||
return 1;
|
||||
player:function(player,target,card,isLink){
|
||||
return lib.card.shunshou_copy.ai.result.player(player,target,{
|
||||
name:'shunshou_copy',
|
||||
position:'he',
|
||||
},isLink)
|
||||
}
|
||||
},
|
||||
tag:{
|
||||
|
@ -1364,7 +1457,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
filterTarget:function(card,player,target){
|
||||
if(player==target) return false;
|
||||
return target.countDiscardableCards(player,get.is.single()?'he':'hej');
|
||||
return target.hasCard(card=>lib.filter.canBeDiscarded(card,target,player),get.is.single()?'he':'hej');
|
||||
},
|
||||
defaultYingbianEffect:'add',
|
||||
content:function(){
|
||||
|
@ -1402,30 +1495,38 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
var att=get.attitude(player,target);
|
||||
var nh=target.countCards('h');
|
||||
const att=get.attitude(player,target);
|
||||
const hs=target.getDiscardableCards(player,'h');
|
||||
const es=target.getDiscardableCards(player,'e');
|
||||
const js=target.getDiscardableCards(player,'j');
|
||||
if(!hs.length&&!es.length&&!js.length) return 0;
|
||||
if(att>0){
|
||||
if(target.countCards('j',function(card){
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
if(js.some(card=>{
|
||||
const cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0) return 3;
|
||||
if(target.getEquip('baiyin')&&target.isDamaged()&&
|
||||
})) return 3;
|
||||
if(target.isDamaged()&&es.some(card=>card.name=='baiyin')&&
|
||||
get.recoverEffect(target,player,player)>0){
|
||||
if(target.hp==1&&!target.hujia) return 1.6;
|
||||
}
|
||||
if(target.countCards('e',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<0;
|
||||
})>0) return 1;
|
||||
}
|
||||
var es=target.getCards('e');
|
||||
var noe=(es.length==0||target.hasSkillTag('noe'));
|
||||
var noe2=(es.filter(function(esx){
|
||||
return get.value(esx,target)>0;
|
||||
}).length==0);
|
||||
var noh=(nh==0||target.hasSkillTag('noh'));
|
||||
if(noh&&(noe||noe2)) return 0;
|
||||
if(att<=0&&!target.countCards('he')) return 1.5;
|
||||
if(es.some(card=>{
|
||||
return get.value(card,target)<0;
|
||||
})) return 1;
|
||||
return -1.5;
|
||||
}
|
||||
else{
|
||||
const noh=(hs.length==0||target.hasSkillTag('noh'));
|
||||
const noe=(es.length==0||target.hasSkillTag('noe'));
|
||||
const noe2=(noe||!es.some(card=>{
|
||||
return get.value(card,target)>0;
|
||||
}));
|
||||
const noj=(js.length==0||!js.some(card=>{
|
||||
const cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
}))
|
||||
if(noh&&noe2&&noj) return 1.5;
|
||||
return -1.5;
|
||||
}
|
||||
},
|
||||
},
|
||||
tag:{
|
||||
|
@ -1442,31 +1543,41 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
value:5,
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
var att=get.attitude(player,target);
|
||||
var nh=target.countCards('h');
|
||||
target:function(player,target,card){
|
||||
let position='hej';
|
||||
if(card&&card.position) position=card.position;
|
||||
const att=get.attitude(player,target);
|
||||
const hs=position.includes('h')?target.getDiscardableCards(player,'h'):[];
|
||||
const es=position.includes('e')?target.getDiscardableCards(player,'e'):[];
|
||||
const js=position.includes('j')?target.getDiscardableCards(player,'j'):[];
|
||||
if(!hs.length&&!es.length&&!js.length) return 0;
|
||||
if(att>0){
|
||||
if(target.countCards('j',function(card){
|
||||
var cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
if(js.some(card=>{
|
||||
const cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
})>0) return 3;
|
||||
if(target.getEquip('baiyin')&&target.isDamaged()&&
|
||||
})) return 3;
|
||||
if(target.isDamaged()&&es.some(card=>card.name=='baiyin')&&
|
||||
get.recoverEffect(target,player,player)>0){
|
||||
if(target.hp==1&&!target.hujia) return 1.6;
|
||||
}
|
||||
if(target.countCards('e',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<0;
|
||||
})>0) return 1;
|
||||
}
|
||||
var es=target.getCards('e');
|
||||
var noe=(es.length==0||target.hasSkillTag('noe'));
|
||||
var noe2=(es.filter(function(esx){
|
||||
return get.value(esx,target)>0;
|
||||
}).length==0);
|
||||
var noh=(nh==0||target.hasSkillTag('noh'));
|
||||
if(noh&&(noe||noe2)) return 0;
|
||||
if(att<=0&&!target.countCards('he')) return 1.5;
|
||||
if(es.some(card=>{
|
||||
return get.value(card,target)<0;
|
||||
})) return 1;
|
||||
return -1.5;
|
||||
}
|
||||
else{
|
||||
const noh=(hs.length==0||target.hasSkillTag('noh'));
|
||||
const noe=(es.length==0||target.hasSkillTag('noe'));
|
||||
const noe2=(noe||!es.some(card=>{
|
||||
return get.value(card,target)>0;
|
||||
}));
|
||||
const noj=(js.length==0||!js.some(card=>{
|
||||
const cardj=card.viewAs?{name:card.viewAs}:card;
|
||||
return get.effect(target,cardj,target,player)<0;
|
||||
}))
|
||||
if(noh&&noe2&&noj) return 1.5;
|
||||
return -1.5;
|
||||
}
|
||||
},
|
||||
},
|
||||
tag:{
|
||||
|
@ -1483,27 +1594,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
value:5,
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
var att=get.attitude(player,target);
|
||||
var nh=target.countCards('h');
|
||||
if(att>0){
|
||||
if(target.getEquip('baiyin')&&target.isDamaged()&&
|
||||
get.recoverEffect(target,player,player)>0){
|
||||
if(target.hp==1&&!target.hujia) return 1.6;
|
||||
}
|
||||
if(target.countCards('e',function(card){
|
||||
if(get.position(card)=='e') return get.value(card,target)<0;
|
||||
})>0) return 1;
|
||||
}
|
||||
var es=target.getCards('e');
|
||||
var noe=(es.length==0||target.hasSkillTag('noe'));
|
||||
var noe2=(es.filter(function(esx){
|
||||
return get.value(esx,target)>0;
|
||||
}).length==0);
|
||||
var noh=(nh==0||target.hasSkillTag('noh'));
|
||||
if(noh&&(noe||noe2)) return 0;
|
||||
if(att<=0&&!target.countCards('he')) return 1.5;
|
||||
return -1.5;
|
||||
target:function(player,target,card,isLink){
|
||||
return lib.card.guohe_copy.ai.result.target(player,target,{
|
||||
name:'guohe_copy',
|
||||
position:'he',
|
||||
},isLink)
|
||||
},
|
||||
},
|
||||
tag:{
|
||||
|
@ -2108,8 +2203,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
audio:true,
|
||||
prompt:'将两张手牌当杀使用或打出',
|
||||
check:function(card){
|
||||
if(card.name=='sha') return 0;
|
||||
return 5-get.value(card)
|
||||
let player=_status.event.player;
|
||||
if(player.hasCard(function(card){
|
||||
return get.name(card)=='sha';
|
||||
})) return 0;
|
||||
if(_status.event&&_status.event.name=='chooseToRespond'&&player.hp<3&&!player.countCards('hs',function(card){
|
||||
return get.name(card)!='tao'&&get.name(card)!='jiu';
|
||||
})) return (player.hp>1?10:8)-get.value(card);
|
||||
return Math.max(5,8-0.7*player.hp)-get.value(card);
|
||||
},
|
||||
ai:{
|
||||
respondSha:true,
|
||||
|
@ -2144,10 +2245,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
next.set('ai',function(card){
|
||||
var evt=_status.event.getTrigger();
|
||||
if(get.attitude(evt.player,evt.target)<0){
|
||||
if(evt.baseDamage+evt.extraDamage>=Math.min(2,evt.target.hp)){
|
||||
return 8-get.value(card)
|
||||
}
|
||||
return 5-get.value(card)
|
||||
if(player.needsToDiscard()) return 15-get.value(card);
|
||||
if(evt.baseDamage+evt.extraDamage>=Math.min(2,evt.target.hp)) return 8-get.value(card);
|
||||
return 5-get.value(card);
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
|
|
|
@ -307,7 +307,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
|||
equipSkill:true,
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
return (event.card.name=='sha'&&lib.linked.some(n=>n!='kami'&&event.card.hasNature(n)));
|
||||
return (event.card.name=='sha'&&lib.linked.some(n=>n!='kami'&&game.hasNature(event.card,n)));
|
||||
},
|
||||
audio:true,
|
||||
direct:true,
|
||||
|
|
|
@ -1076,7 +1076,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
try{
|
||||
var cards=player.getCards('hs',cardx=>{
|
||||
if(get.name(cardx)!='sha') return false;
|
||||
return cardx.hasNature('linked');
|
||||
return game.hasNature(cardx,'linked');
|
||||
});
|
||||
cards.map(i=>[i,get.effect(target,i,player,player)]);
|
||||
cards.sort((a,b)=>b[1]-a[1]);
|
||||
|
@ -1096,7 +1096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return get.name(card)=='jiu'&&player.hasUseTarget(card);
|
||||
})&&player.countCards('hs',card=>{
|
||||
if(get.name(card)!='sha') return false;
|
||||
return card.hasNature('linked');
|
||||
return game.hasNature(card,'linked');
|
||||
}));
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
|
@ -1569,10 +1569,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var list=[],names=[];
|
||||
for(var card of cards){
|
||||
var name=get.name(card),nature=get.nature(card);
|
||||
var namex=name+nature;
|
||||
var namex=name;
|
||||
if(nature&&nature.length){
|
||||
namex+=nature;
|
||||
if(names.contains(namex)) continue;
|
||||
if(nature.length) list.push([get.type(card),'',name,nature]);
|
||||
else list.push([get.type(card),'',name]);
|
||||
list.push([get.type(card),'',name,nature]);
|
||||
}
|
||||
else{
|
||||
if(names.contains(namex)) continue;
|
||||
list.push([get.type(card),'',name]);
|
||||
}
|
||||
names.push(namex);
|
||||
}
|
||||
list.sort((a,b)=>{
|
||||
|
@ -2250,7 +2256,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
characterReplace:{
|
||||
wuban:['dc_wuban','clan_wuban','wuban'],
|
||||
wuban:['clan_wuban','dc_wuban','wuban'],
|
||||
},
|
||||
characterIntro:{
|
||||
xunshu:'荀淑(83年~149年),字季和,为郎陵侯相,颍川颍阴人(今河南省许昌市)人。汉和帝至汉桓帝时人物,以品行高洁著称。有子八人,号八龙。年轻时有高尚的德行,学问渊博,不喜欢雕章琢句,徒在文字上用功,不注重实际的学识。因此,常常被俗儒看不起。但州里却称他有知人之明。安帝时,征召任为郎中,后来再升当涂长。离职还乡里。他的孙子荀彧是曹操部下著名的谋士。',
|
||||
|
@ -2277,6 +2283,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
translate:{
|
||||
clan_wuxian_prefix:'族',
|
||||
clan_wuban_prefix:'族',
|
||||
clan_xunshu_prefix:'族',
|
||||
clan_xunchen_prefix:'族',
|
||||
clan_xuncai_prefix:'族',
|
||||
clan_xuncan_prefix:'族',
|
||||
clan_hanshao_prefix:'族',
|
||||
clan_hanrong_prefix:'族',
|
||||
clan_wukuang_prefix:'族',
|
||||
clan_wangling_prefix:'族',
|
||||
clan_zhongyan_prefix:'族',
|
||||
clan_wangyun_prefix:'族',
|
||||
clan_wanghun_prefix:'族',
|
||||
clan_zhonghui_prefix:'族',
|
||||
clan_zhongyu_prefix:'族',
|
||||
|
||||
clan_wuxian:'族吴苋',
|
||||
clanyirong:'移荣',
|
||||
clanyirong_info:'出牌阶段限两次。若你的手牌数:小于X,则你可以将手牌摸至X张(至多摸八张),然后X-1;大于X,则你可以将手牌弃置至X张,然后X+1。(X为你的手牌上限)',
|
||||
|
|
|
@ -1533,25 +1533,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
old_lingju:'SP灵雎',
|
||||
old_lingju_prefix:'SP',
|
||||
fenxin_old:'焚心',
|
||||
fenxin_old_info:'限定技,当你杀死一名非主公角色时,你可以与其交换未翻开的身份牌。(你的身份为主公时不能发动此技能)',
|
||||
sp_fuwan:'SP伏完',
|
||||
sp_fuwan_prefix:'SP',
|
||||
spfengyin:'奉印',
|
||||
spfengyin_info:'其他角色的回合开始时,若其体力值不少于你,你可以交给其一张【杀】,令其跳过出牌阶段和弃牌阶段。',
|
||||
spchizhong:'持重',
|
||||
spchizhong_info:'锁定技,你的手牌上限等于体力上限;其他角色死亡时,你加1点体力上限。',
|
||||
sp_fuhuanghou:'SP伏寿',
|
||||
sp_fuhuanghou_prefix:'SP',
|
||||
spcangni:'藏匿',
|
||||
spcangni_info:'弃牌阶段开始时,你可以回复1点体力或摸两张牌,然后将你的武将牌翻面;其他角色的回合内,当你获得(每回合限一次)/失去一次牌时,若你的武将牌背面朝上,你可以令该角色摸/弃置一张牌。',
|
||||
spmixin:'密信',
|
||||
spmixin_info:'出牌阶段限一次,你可以将一张手牌交给一名其他角色,该角色须对你选择的另一名角色使用一张无距离限制的【杀】,否则你选择的角色观看其手牌并获得其中一张。',
|
||||
sp_jiben:'SP吉本',
|
||||
sp_jiben_prefix:'SP',
|
||||
spduanzhi:'断指',
|
||||
spduanzhi_info:'当你成为其他角色使用的牌的目标后,你可以弃置其至多两张牌,然后失去1点体力。',
|
||||
spduyi:'毒医',
|
||||
spduyi2:'毒医',
|
||||
spduyi_info:'出牌阶段限一次,你可以亮出牌堆顶的一张牌并交给一名角色,若此牌为黑色,该角色不能使用或打出手牌,直到回到结束。',
|
||||
sp_mushun:'SP穆顺',
|
||||
sp_mushun_prefix:'SP',
|
||||
libai:'李白',
|
||||
dclbjiuxian:'酒仙',
|
||||
dclbjiuxian_info:'①你可以将额定目标数大于1的锦囊牌当做【酒】使用。②你使用【酒】无次数限制。',
|
||||
|
@ -1595,15 +1600,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcbianzhuang:'变装',
|
||||
dcbianzhuang_info:'①出牌阶段限一次,你可以从系统随机选择的两个技能中获得一个,并视为使用一张【杀】(无距离次数限制),然后失去以此法获得的技能。②当你使用装备牌后,你清空此技能的发动次数记录。③当你发动〖变装①〗后,若你发动〖变装①〗的次数大于2,则你将武将牌变更为诸葛亮,并将系统选择的技能数改为三个。',
|
||||
dc_caocao:'经典曹操',
|
||||
dc_caocao_ab:'曹操',
|
||||
dc_caocao_prefix:'经典',
|
||||
dcjianxiong:'奸雄',
|
||||
dcjianxiong_info:'当你受到伤害后,你可以摸一张牌并获得对你造成伤害的牌,然后你令此技能摸牌数+1(至多为5)。',
|
||||
dc_liubei:'经典刘备',
|
||||
dc_liubei_ab:'刘备',
|
||||
dc_liubei_prefix:'经典',
|
||||
dcrende:'仁德',
|
||||
dcrende_info:'出牌阶段每名角色限一次。你可以获得一名其他角色两张手牌,然后视为使用一张基本牌。',
|
||||
dc_sunquan:'经典孙权',
|
||||
dc_sunquan_ab:'孙权',
|
||||
dc_sunquan_prefix:'经典',
|
||||
dczhiheng:'制衡',
|
||||
dczhiheng_info:'①出牌阶段限一次。你可以弃置任意张牌并摸等量的牌,若你在发动〖制衡〗时弃置了所有手牌,则你多摸一张牌。②每回合每名角色限一次。当你对其他角色造成伤害后,你令〖制衡①〗于此回合发动次数上限+1。',
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ddd_liangxi:['male','wei',3,['dddtongyu']],
|
||||
ddd_wangkanglvkai:['male','shu',4,['dddbingjian']],
|
||||
ddd_sunliang:['male','wu',3,['ddddiedang','dddanliu','dddguiying'],['zhu']],
|
||||
ddd_lie:['male','wu',3,['dddyeshen','dddqiaoduan']],
|
||||
ddd_lie:['female','wu',3,['dddyeshen','dddqiaoduan']],
|
||||
},
|
||||
characterFilter:{},
|
||||
characterSort:{},
|
||||
|
@ -875,7 +875,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var player=_status.event.player,target=_status.event.getParent().target;
|
||||
if(get.attitude(player,target)<0) return false;
|
||||
if(!_status.event.colors.contains(get.color(card,player))) return 0;
|
||||
if(card.hasNature()) return 1.2;
|
||||
if(game.hasNature(card)) return 1.2;
|
||||
return 1;
|
||||
})
|
||||
'step 3'
|
||||
|
|
|
@ -178,6 +178,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_chengpu:['male','wu',4,['decadelihuo','decadechunlao']],
|
||||
ns_sundeng:['male','wu',4,['xinkuangbi']],
|
||||
ns_duji:['male','wei',3,['xinfu_andong','xinyingshi']],
|
||||
old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"],[]],
|
||||
|
||||
old_jiakui:['male','wei',4,['tongqu','xinwanlan']],
|
||||
ol_guohuai:['male','wei',3,['rejingce']],
|
||||
|
@ -220,7 +221,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_luyusheng"],
|
||||
diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao","ns_chengpu",'ns_sundeng','ns_duji'],
|
||||
diy_xushi:["diy_feishi","diy_hanlong","diy_liufu","diy_liuyan","diy_liuzan","diy_tianyu","diy_xizhenxihong","diy_yangyi","diy_zaozhirenjun"],
|
||||
diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji"],
|
||||
diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","old_majun"],
|
||||
diy_noname:['noname'],
|
||||
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya","key_yukito","key_asara","key_kotomi","key_mia","key_kano","db_key_liyingxia","key_erika","key_satomi","key_iriya","key_fuuko"],
|
||||
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','old_bulianshi','junk_sunquan','ol_maliang','junk_liubei','junk_huangyueying','junk_lidian','junk_duanwei','junk_xuyou'],
|
||||
|
@ -13988,7 +13989,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
"step 0"
|
||||
player.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('guidao'),'he',function(card){
|
||||
get.translation(trigger.player.judging[0])+','+get.prompt('nswangfeng'),'he',function(card){
|
||||
return get.color(card)=='red';
|
||||
}).set('ai',function(card){
|
||||
var trigger=_status.event.getTrigger();
|
||||
|
@ -17051,7 +17052,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
diy_jiaoxia:{
|
||||
audio:['jiaoxia',2],
|
||||
//audio:['jiaoxia',2],
|
||||
trigger:{target:'useCardToBegin'},
|
||||
filter:function(event,player){
|
||||
return event.card&&get.color(event.card)=='red';
|
||||
|
@ -18049,6 +18050,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_nanhua_left:'幻身·左',
|
||||
ns_nanhua_right:'幻身·右',
|
||||
ns_huamulan:'SP花木兰',
|
||||
ns_huamulan_prefix:'SP',
|
||||
ns_huangzu:'黄祖',
|
||||
ns_yanliang:'颜良',
|
||||
ns_wenchou:'文丑',
|
||||
|
@ -18059,6 +18061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_wangyue:'王越',
|
||||
ns_yuji:'于吉',
|
||||
ns_caocaosp:'SP曹操',
|
||||
ns_caocaosp_prefix:'SP',
|
||||
ns_xinxianying:'辛宪英',
|
||||
ns_sunjian:'孙坚',
|
||||
ns_simazhao:'司马昭',
|
||||
|
@ -18079,6 +18082,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_luyusheng:'陆郁生',
|
||||
|
||||
sp_key_yuri:'SP仲村由理',
|
||||
sp_key_yuri_prefix:'SP',
|
||||
key_lucia:'此花露西娅',
|
||||
key_kyousuke:'枣恭介',
|
||||
key_yuri:'仲村由理',
|
||||
|
@ -18119,6 +18123,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_ao:'空门苍',
|
||||
key_yuzuru:'音无结弦',
|
||||
sp_key_kanade:'SP立华奏',
|
||||
sp_key_kanade_prefix:'SP',
|
||||
key_mio:'西园美鱼',
|
||||
key_midori:'西园美鸟',
|
||||
key_kyoko:'岬镜子',
|
||||
|
@ -18613,7 +18618,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
seira_yuanying_info:'出牌阶段限一次,你可选择两名角色。这两名角色成为“姻缘者”且获得〖姻缘〗直到你下次发动〖缘映〗。',
|
||||
seira_yinyuan:'姻缘',
|
||||
seira_yinyuan_info:'你的手牌对其他“姻缘者”可见。出牌阶段限一次,你可以获得一名其他“姻缘者”区域内的一张牌,然后其回复1点体力。',
|
||||
key_kiyu:'露娜Q',
|
||||
key_kiyu:'露娜Q',
|
||||
kiyu_yuling:'玉灵',
|
||||
kiyu_yuling_info:'锁定技。你不是有距离限制的锦囊牌的合法目标;你成为【杀】的目标后,使用者需弃置X张牌(X为其至你的距离)。',
|
||||
kiyu_xianyu:'先预',
|
||||
|
@ -18971,8 +18976,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
nshanlang:'酣浪',
|
||||
nshanlang_info:'准备阶段,你可以和至多三名角色拼点。然后若这些角色中有拼点牌唯一最大的角色,则你可以令该角色从牌堆中获得一张不符合“四象天阵”的牌。',
|
||||
|
||||
junk_zhangrang:'四花张让',
|
||||
junk_zhangrang_ab:'张让',
|
||||
junktaoluan:'滔乱',
|
||||
junktaoluan3:'滔乱',
|
||||
junktaoluan4:'滔乱',
|
||||
|
@ -18992,12 +18995,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
junkquandao_info:'锁定技。当你使用【杀】或普通锦囊牌时,若你手牌中的【杀】或普通锦囊牌的数量之差X不为0,则你弃置X张数量较多的一种牌,然后你摸一张牌。',
|
||||
junkchigang:'持纲',
|
||||
junkchigang_info:'转换技,锁定技。判定阶段开始前,你取消此阶段。然后你获得一个额外的:阴,摸牌阶段;阳,出牌阶段。',
|
||||
junk_liubei:'削弱刘备',
|
||||
junk_liubei_ab:'刘备',
|
||||
junkrende:'仁德',
|
||||
junkrende_info:'出牌阶段限一次,你可以将任意张手牌交给其他角色。若你给出的牌多于一张,则你回复1点体力。',
|
||||
junk_huangyueying:'削弱黄月英',
|
||||
junk_huangyueying_ab:'黄月英',
|
||||
junkjizhi:'集智',
|
||||
junkjizhi_info:'当你使用非转化的普通锦囊牌时,你可以展示牌堆顶的一张牌A。若A不为基本牌,则你获得A。否则你选择一项:⒈将A置入弃牌堆。⒉将一张手牌置于牌堆顶,然后获得A。',
|
||||
junkqicai:'奇才',
|
||||
|
@ -19009,19 +19008,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
junklangmie_info:'其他角色的结束阶段开始时,你可以选择一项:⒈若其本回合内使用过某种类型的牌超过一张,则你弃置一张牌并摸两张牌。⒉若其本回合累计造成过的伤害大于1,则你弃置一张牌,然后对其造成1点伤害。',
|
||||
junkshicai:"恃才",
|
||||
junkshicai_info:"当你使用牌结束完毕后,若此牌与你本回合使用的牌类型均不同,则你可以将此牌置于牌堆顶,然后摸一张牌。",
|
||||
ol_guohuai_ab:'郭淮',
|
||||
old_jiakui:'通渠贾逵',
|
||||
ol_guohuai:'三血郭淮',
|
||||
old_jiakui_ab:'贾逵',
|
||||
old_bulianshi_ab:'步练师',
|
||||
old_bulianshi:'削弱步练师',
|
||||
ol_maliang:'削弱马良',
|
||||
ol_maliang_ab:'马良',
|
||||
junk_lidian:'削弱李典',
|
||||
junk_lidian_ab:'李典',
|
||||
junk_duanwei:'削弱段煨',
|
||||
junk_duanwei_ab:'段煨',
|
||||
junk_zhangrang:'新杀张让',
|
||||
junk_zhangrang_prefix:'新杀',
|
||||
old_jiakui:'手杀贾逵',
|
||||
old_jiakui_prefix:'手杀',
|
||||
ol_guohuai:'OL郭淮',
|
||||
ol_guohuai_prefix:'OL',
|
||||
old_bulianshi:'RE步练师',
|
||||
old_bulianshi_prefix:'RE',
|
||||
ol_maliang:'OL马良',
|
||||
ol_maliang_prefix:'OL',
|
||||
junk_lidian:'OL李典',
|
||||
junk_lidian_prefix:'OL',
|
||||
junk_duanwei:'新杀段煨',
|
||||
junk_duanwei_prefix:'新杀',
|
||||
junk_xuyou:'手杀许攸',
|
||||
junk_xuyou_prefix:'手杀',
|
||||
junk_liubei:'旧界刘备',
|
||||
junk_liubei_prefix:'旧界',
|
||||
junk_huangyueying:'旧界黄月英',
|
||||
junk_huangyueying_prefix:'旧界',
|
||||
old_majun:'骰子马钧',
|
||||
old_majun_prefix:'骰子',
|
||||
|
||||
diy_tieba:'吧友设计',
|
||||
diy_xushi:'玩点论杀·虚实篇',
|
||||
|
@ -19125,7 +19133,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
远野美凪:['Toono','Minagi'],
|
||||
樱庭星罗:['Sakuraba','Seira'],
|
||||
坂上智代:['Sakagami','Tomoyo'],
|
||||
冈崎汐:['Okazaki','Ushio']
|
||||
冈崎汐:['Okazaki','Ushio'],
|
||||
神山识:['Kamiyama','Shiki'],
|
||||
佐藤雏:['Satou','Hina'],
|
||||
},
|
||||
};
|
||||
});
|
||||
|
|
|
@ -65,11 +65,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shen_zhugeliang:'字孔明、号卧龙,汉族,琅琊阳都人,三国时期蜀汉丞相、杰出的政治家、军事家、发明家、文学家。在世时被封为武乡侯,死后追谥忠武侯,后来东晋政权推崇诸葛亮军事才能,特追封他为武兴王。诸葛亮为匡扶蜀汉政权,呕心沥血、鞠躬尽瘁、死而后已。其代表作有《前出师表》、《后出师表》、《诫子书》等。曾发明木牛流马等,并改造连弩,可一弩十矢俱发。于234年在宝鸡五丈原逝世。',
|
||||
},
|
||||
characterReplace:{
|
||||
shen_zhangliao:['shen_zhangliao','ol_zhangliao'],
|
||||
shen_zhangliao:['ol_zhangliao','shen_zhangliao'],
|
||||
shen_zhaoyun:['shen_zhaoyun','boss_zhaoyun'],
|
||||
shen_guanyu:['shen_guanyu','tw_shen_guanyu'],
|
||||
shen_sunquan:['shen_sunquan','junk_sunquan'],
|
||||
shen_lvmeng:['tw_shen_lvmeng','shen_lvmeng'],
|
||||
shen_lvmeng:['shen_lvmeng','tw_shen_lvmeng'],
|
||||
shen_machao:['shen_machao','ps_shen_machao'],
|
||||
},
|
||||
characterFilter:{
|
||||
|
@ -266,7 +266,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
str+='、';
|
||||
}
|
||||
str=str.slice(0,str.length-1);
|
||||
str+=';'
|
||||
str+=';';
|
||||
card.ai.equipValue=function(card,player){
|
||||
let val=maxHp;
|
||||
if(player.hasSkill('qiexie')) val*=0.4;
|
||||
else val*=0.6;
|
||||
return val+=skills.length;
|
||||
};
|
||||
}
|
||||
str+='此牌离开你的装备区后,改为置入剩余武将牌牌堆。';
|
||||
lib.translate['qiexie_'+name+'_info']=str;
|
||||
|
@ -584,7 +590,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
skillAnimation:true,
|
||||
animationColor:'orange',
|
||||
filter:function(event,player){
|
||||
return player.getStorage('dctuoyu').length==3;
|
||||
return true;
|
||||
//return player.getStorage('dctuoyu').length==3;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -592,6 +599,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.loseMaxHp();
|
||||
'step 1'
|
||||
if(game.countPlayer()>2){
|
||||
if(player==trigger.player&&!trigger.skill){
|
||||
var evt=trigger.getParent();
|
||||
if(evt.name=='phaseLoop'&&evt._isStandardLoop) evt.player=player.next;
|
||||
}
|
||||
player.chooseTarget(true,'请选择一名要更换座次的角色,将自己移动到该角色的上家位置',function(card,player,target){
|
||||
return target!=player&&target!=player.next;
|
||||
}).set('ai',function(target){
|
||||
|
@ -2437,6 +2448,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
yingba:{
|
||||
audio:2,
|
||||
mod:{
|
||||
aiOrder:function(player,card,num){
|
||||
if(num>0&&_status.event&&_status.event.type=='phase'&&get.tag(card,'recover')){
|
||||
if(player.needsToDiscard()) return num/3;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
},
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:(event,player)=>(game.hasPlayer((current)=>(current!=player&¤t.maxHp>1))),
|
||||
|
@ -2896,6 +2915,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else event.finish();
|
||||
'step 2'
|
||||
player.chooseToDiscard('h',true).logSkill=['tspowei_use',target];
|
||||
if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.2);
|
||||
target.damage();
|
||||
'step 3'
|
||||
player.addTempSkill('tspowei_inRange');
|
||||
|
@ -4293,24 +4313,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 1;
|
||||
},
|
||||
effect:{
|
||||
target:function (card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'damage')&&target.hp>(player.hasSkillTag('damageBonus',true,{
|
||||
card:card,
|
||||
target:target
|
||||
})?2:1)){
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||
if(target.hp==1) return 0.8;
|
||||
if(target.isTurnedOver()) return [0,3];
|
||||
var num=game.countPlayer(function(current){
|
||||
if(current.countCards('he')&¤t!=player&&get.attitude(player,current)<=0){
|
||||
return true;
|
||||
}
|
||||
if(current.countCards('j')&¤t!=player&&get.attitude(player,current)>0){
|
||||
return true;
|
||||
let gain=game.countPlayer(function(current){
|
||||
if(target==current) return 0;
|
||||
if(get.attitude(target,current)>0){
|
||||
if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin')&&get.effect(current,cardx,current,current)<0,'j')) return 1.3;
|
||||
return 0;
|
||||
}
|
||||
if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin')&&get.effect(current,cardx,current,current)>0,'e')) return 1.1;
|
||||
if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'new_guixin'),'h')) return 0.9;
|
||||
return 0;
|
||||
});
|
||||
if(num>2) return [0,1];
|
||||
if(num==2) return [0.5,1];
|
||||
if(target.isTurnedOver()) gain+=2.3;
|
||||
else gain-=2.3;
|
||||
return [1,Math.max(0,gain)];
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
ol_shenfen:{
|
||||
|
@ -4855,6 +4879,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
jilue_zhiheng:{
|
||||
audio:1,
|
||||
mod:{
|
||||
aiOrder:function(player,card,num){
|
||||
if(num<=0||get.itemtype(card)!='card'||get.type(card)!='equip') return num;
|
||||
let eq=player.getEquip(get.subtype(card));
|
||||
if(eq&&get.equipValue(card)-get.equipValue(eq)<Math.max(1.2,6-player.hp)) return 0;
|
||||
}
|
||||
},
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
|
@ -4892,7 +4923,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.draw(event.num+cards.length);
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
order:function(item,player){
|
||||
if(player.hasCard((i)=>get.value(i)>Math.max(6,9-player.hp),'he')) return 1;
|
||||
return 10;
|
||||
},
|
||||
result:{
|
||||
player:function(player){
|
||||
var num=0;
|
||||
|
@ -4907,6 +4941,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 0;
|
||||
}
|
||||
},
|
||||
nokeep:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(tag==='nokeep') return player.isPhaseUsing()&&!player.getStat().skill.jilue_zhiheng&&player.hasCard((card)=>get.name(card)!=='tao','h');
|
||||
},
|
||||
threaten:1.5
|
||||
},
|
||||
},
|
||||
|
@ -5229,20 +5267,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
if(get.tag(card,'damage')&&target.hp>(player.hasSkillTag('damageBonus',true,{
|
||||
card:card,
|
||||
target:target
|
||||
})?2:1)){
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||
if(target.hp==1) return 0.8;
|
||||
if(target.isTurnedOver()) return [0,3];
|
||||
var num=game.countPlayer(function(current){
|
||||
if(current.countCards('he')&¤t!=player&&get.attitude(player,current)<=0){
|
||||
return true;
|
||||
}
|
||||
if(current.countCards('j')&¤t!=player&&get.attitude(player,current)>0){
|
||||
return true;
|
||||
let gain=game.countPlayer(function(current){
|
||||
if(target==current) return 0;
|
||||
if(get.attitude(target,current)>0){
|
||||
if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin')&&get.effect(current,cardx,current,current)<0,'ej')) return 1.3;
|
||||
return 0;
|
||||
}
|
||||
if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin')&&get.effect(current,cardx,current,current)>0,'ej')) return 1.1;
|
||||
if(current.hasCard((cardx)=>lib.filter.canBeGained(cardx,target,current,'guixin'),'h')) return 0.9;
|
||||
return 0;
|
||||
});
|
||||
if(num>2) return [0,1];
|
||||
if(num==2) return [0.5,1];
|
||||
if(target.isTurnedOver()) gain+=2.3;
|
||||
else gain-=2.3;
|
||||
return [1,Math.max(0,gain)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6172,7 +6214,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(['trick','delay'].contains(lib.card[card.name].type)) return 'thunder';
|
||||
},
|
||||
cardUsable:function(card,player){
|
||||
if(card.name=='sha'&&card.hasNature('thunder')) return Infinity;
|
||||
if(card.name=='sha'&&game.hasNature(card,'thunder')) return Infinity;
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
|
@ -6400,6 +6442,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
bannedList:[
|
||||
'bifa','buqu','gzbuqu','songci','funan','xinfu_guhuo','reguhuo','huashen','rehuashen','old_guhuo','shouxi','xinpojun','taoluan','xintaoluan','yinbing','xinfu_yingshi','zhenwei','zhengnan','xinzhengnan','zhoufu',
|
||||
],
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=[];
|
||||
|
@ -7083,6 +7126,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
"shen_luxun":"神陆逊",
|
||||
shen_luxun_prefix:'神',
|
||||
"nzry_junlve":"军略",
|
||||
"nzry_junlve_info":"锁定技,当你受到或造成伤害后,你获得X个“军略”标记(X为伤害点数)",
|
||||
"nzry_cuike":"摧克",
|
||||
|
@ -7090,13 +7134,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"nzry_dinghuo":"绽火",
|
||||
"nzry_dinghuo_info":"限定技,出牌阶段,你可以移去全部“军略”标记,令至多等量的已横置角色弃置所有装备区内的牌。然后,你对其中一名角色造成1点火焰伤害。",
|
||||
"shen_liubei":"神刘备",
|
||||
shen_liubei_prefix:'神',
|
||||
"nzry_longnu":"龙怒",
|
||||
"nzry_longnu_info":"转换技,锁定技,阴:出牌阶段开始时,你失去1点体力并摸一张牌,然后本阶段内你的红色手牌均视为火【杀】且无距离限制。阳:出牌阶段开始时,你减1点体力上限并摸一张牌,然后本阶段内你的锦囊牌均视为雷【杀】且无使用次数限制。",
|
||||
"nzry_jieying":"结营",
|
||||
"nzry_jieying_info":"锁定技,游戏开始时或当你的武将牌重置时,你横置;所有已横置的角色手牌上限+2;结束阶段,你横置一名其他角色。",
|
||||
|
||||
"shen_ganning":"神甘宁",
|
||||
shen_ganning_prefix:'神',
|
||||
"shen_zhangliao":"神张辽",
|
||||
shen_zhangliao_prefix:'神',
|
||||
|
||||
"drlt_poxi":"魄袭",
|
||||
"drlt_poxi_info":"出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可以弃置你与其手牌中的四张花色不同的牌。若如此做,根据此次弃置你的牌的数量执行以下效果:零张,扣减一点体力上限;一张,你结束出牌阶段且本回合手牌上限-1;三张,你回复一点体力;四张,你摸四张牌",
|
||||
|
@ -7111,13 +7158,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"drlt_zhiti_info":"锁定技,你攻击范围内已受伤的其他角色手牌上限-1;当你拼点或【决斗】胜利,或受到伤害后,你恢复一个装备栏",
|
||||
|
||||
shen_zhaoyun:'神赵云',
|
||||
shen_zhaoyun_prefix:'神',
|
||||
shen_guanyu:'神关羽',
|
||||
shen_guanyu_prefix:'神',
|
||||
shen_lvmeng:'神吕蒙',
|
||||
shen_lvmeng_prefix:'神',
|
||||
shen_simayi:'神司马懿',
|
||||
shen_simayi_prefix:'神',
|
||||
shen_caocao:'神曹操',
|
||||
shen_caocao_prefix:'神',
|
||||
shen_zhugeliang:'神诸葛亮',
|
||||
shen_zhugeliang_prefix:'神',
|
||||
shen_zhouyu:'神周瑜',
|
||||
shen_zhouyu_prefix:'神',
|
||||
shen_lvbu:'神吕布',
|
||||
shen_lvbu_prefix:'神',
|
||||
xinjuejing:'绝境',
|
||||
xinjuejing_info:'锁定技,你的手牌上限+2;当你进入或脱离濒死状态时,你摸一张牌。',
|
||||
relonghun:'龙魂',
|
||||
|
@ -7205,12 +7260,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"new_guixin":"归心",
|
||||
"new_guixin_info":"当你受到1点伤害后,你可以按照你选择的区域优先度随机获得每名其他角色区域里的一张牌,然后你翻面。",
|
||||
ol_zhangliao:'OL神张辽',
|
||||
ol_zhangliao_prefix:'OL神',
|
||||
olduorui:'夺锐',
|
||||
olduorui2:'夺锐',
|
||||
olduorui_info:'当你于出牌阶段内对一名角色造成伤害后,你可以选择该角色武将牌上的一个技能。若如此做,你结束出牌阶段,且你令此技能于其下个回合结束之前无效。',
|
||||
olzhiti:'止啼',
|
||||
olzhiti_info:'锁定技,你攻击范围内已受伤角色的手牌上限-1。若场上已受伤的角色数:不小于1,你的手牌上限+1;不小于3,你于摸牌阶段开始时令额定摸牌数+1;不小于5,回合结束时,你废除一名角色的一个随机装备栏。',
|
||||
shen_caopi:'神曹丕',
|
||||
shen_caopi_prefix:'神',
|
||||
chuyuan:'储元',
|
||||
chuyuan_info:'一名角色受到伤害后,若你武将牌上「储」的数量小于体力上限,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。',
|
||||
//chuyuan_info:'一名角色受到伤害后,你可以令其摸一张牌。然后其将一张手牌置于你的武将牌上,称为「储」。你的手牌上限+X(X为你武将牌上的「储」数)。',
|
||||
|
@ -7219,6 +7276,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tianxing:'天行',
|
||||
tianxing_info:'觉醒技,准备阶段,若你武将牌上的「储」数不小于3,则你减1点体力上限并获得所有「储」,然后失去技能〖储元〗,选择获得以下技能中的一个:〖仁德〗/〖制衡〗/〖乱击〗/〖行动〗',
|
||||
shen_zhenji:'神甄宓',
|
||||
shen_zhenji_prefix:'神',
|
||||
shenfu:'神赋',
|
||||
shenfu_info:'回合结束时,若你的手牌数为:奇数,你可对一名其他角色造成1点雷属性伤害。若其死亡,你可重复此流程。偶数,你可选择一名角色,你令其摸一张牌或弃置一张手牌。若其手牌数等于体力值,你可重复此流程。',
|
||||
qixian:'七弦',
|
||||
|
@ -7226,6 +7284,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caopi_xingdong:'行动',
|
||||
caopi_xingdong_info:'出牌阶段限一次,你可以将一张【杀】或普通锦囊牌交给一名其他角色,然后该角色选择一项:对除你以外的角色使用此牌并在此牌结算完成后和你各摸一张牌;或跳过下回合的判定阶段和摸牌阶段。',
|
||||
shen_diaochan:'神貂蝉',
|
||||
shen_diaochan_prefix:'神',
|
||||
meihun:'魅魂',
|
||||
meihun_info:'结束阶段或当你成为【杀】的目标后,你可以令一名其他角色交给你一张你声明的花色的手牌,若其没有则你观看其手牌然后弃置其中一张。',
|
||||
huoxin_control:'惑心',
|
||||
|
@ -7233,12 +7292,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
huoxin_info:'出牌阶段限一次,你可以展示两张花色相同的手牌并分别交给两名其他角色,然后令这两名角色拼点,没赢的角色获得1个“魅惑”标记。拥有2个或更多“魅惑”的角色回合即将开始时,该角色移去其所有“魅惑”,此回合改为由你操控。',
|
||||
boss_zhaoyun:'高达一号',
|
||||
boss_zhaoyun_ab:'神赵云',
|
||||
boss_zhaoyun_prefix:'神',
|
||||
boss_juejing:'绝境',
|
||||
boss_juejing2:'绝境',
|
||||
boss_juejing_info:'锁定技,摸牌阶段开始前,你跳过此阶段。当你得到牌/失去手牌后,若你的手牌数大于4/小于4,则你将手牌摸至4张/弃置至4张。',
|
||||
zhanjiang:'斩将',
|
||||
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',
|
||||
shen_guojia:'神郭嘉',
|
||||
shen_guojia_prefix:'神',
|
||||
shuishi:'慧识',
|
||||
shuishi_info:'出牌阶段限一次,若你的体力上限小于10,则你可选择一名角色。你令其摸一张牌,若其以此法得到的牌:与该角色的其他手牌花色均不相同,则你加1点体力上限,若你的体力上限小于10,则你可以重复此流程;否则你减1点体力上限,且其展示所有手牌。',
|
||||
stianyi:'天翊',
|
||||
|
@ -7249,6 +7310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sghuishi:'辉逝',
|
||||
sghuishi_info:'限定技,出牌阶段,你可以选择一名其他角色:若其有未发动过的觉醒技,则你令其发动这些觉醒技时无视原有条件;否则其摸四张牌。然后你减2点体力上限。',
|
||||
shen_taishici:'神太史慈',
|
||||
shen_taishici_prefix:'神',
|
||||
dulie:'笃烈',
|
||||
dulie_info:'锁定技。当你成为【杀】的目标时,若使用者的体力值大于你,则你进行判定。若结果为红桃,则取消此目标。',
|
||||
tspowei:'破围',
|
||||
|
@ -7264,6 +7326,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
qizhengxiangsheng:'奇正相生',
|
||||
qizhengxiangsheng_info:'出牌阶段,对一名其他角色使用。你将目标角色标记为“奇兵”或“正兵”(对其他角色不可见)。然后目标角色可以打出一张【杀】或【闪】。若其是“奇兵”且未打出【杀】,则你对其造成1点伤害;若其是“正兵”且未打出【闪】,则你获得其一张牌。',
|
||||
shen_xunyu:'神荀彧',
|
||||
shen_xunyu_prefix:'神',
|
||||
tianzuo:'天佐',
|
||||
tianzuo_info:'锁定技。①游戏开始时,你将8张【奇正相生】加入牌堆。②【奇正相生】对你无效。',
|
||||
lingce:'灵策',
|
||||
|
@ -7271,6 +7334,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dinghan:'定汉',
|
||||
dinghan_info:'①当你成为未记录过的普通锦囊牌的目标时,或有未记录过的延时锦囊牌进入你的判定区时,你记录此牌名并取消之。②准备阶段,你可在〖定汉①〗的记录中添加或减少一种锦囊牌的牌名。',
|
||||
shen_sunce:'神孙策',
|
||||
shen_sunce_prefix:'神',
|
||||
yingba:'英霸',
|
||||
yingba_info:'①出牌阶段限一次,你可令一名体力上限大于1的其他角色减少1点体力上限并获得“平定”标记,然后你减少1点体力上限。②你对拥有“平定”标记的角色使用牌没有距离限制。',
|
||||
scfuhai:'覆海',
|
||||
|
@ -7278,6 +7342,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
pinghe:'冯河',
|
||||
pinghe_info:'锁定技。①你的手牌上限基数等于你已损失的体力值。②当你受到其他角色造成的伤害时,若你有牌且你的体力上限大于1,则你防止此伤害,减一点体力上限并将一张手牌交给一名其他角色。然后若你拥有〖英霸〗,则伤害来源获得一个“平定”标记。',
|
||||
shen_jiangwei:'神姜维',
|
||||
shen_jiangwei_prefix:'神',
|
||||
jiufa:'九伐',
|
||||
jiufa_info:'①当你声明使用牌后或打出牌时,你记录此牌的牌名。②当你使用或打出的牌结算结束后,若你的〖九伐〗记录中包含至少⑨种不同的牌名,则你可以展示牌堆顶的⑨张牌,选择并获得其中任意张点数各不相同且{这九张牌中存在未被选择且和已选择的牌点数相同}的牌,清除所有的记录,将其余牌置入弃牌堆。',
|
||||
tianren:'天任',
|
||||
|
@ -7285,6 +7350,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
pingxiang:'平襄',
|
||||
pingxiang_info:'限定技。出牌阶段,若你的体力上限大于⑨,则你可减⑨点体力上限,视为使用至多⑨张火【杀】,然后失去〖九伐〗,并将手牌上限基数改为体力上限直到游戏结束。',
|
||||
shen_sunquan:'神孙权',
|
||||
shen_sunquan_prefix:'神',
|
||||
dili:'帝力',
|
||||
dili_info:'锁定技。游戏开始时,你随机获得一条<span style="font-family: yuanli">东吴命运线</span>。',
|
||||
yuheng:'驭衡',
|
||||
|
@ -7316,6 +7382,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
changandajian_equip5_info:'锁定技。你的手牌上限+2。当你失去装备区内的【长安大舰】后,你销毁之。然后你选择场上的一张牌。若此牌点数为字母,则你获得之,否则弃置之。',
|
||||
changandajian_equip6_info:'锁定技。你至其他角色的距离-2,其他角色至你的距离+2。当你失去装备区内的【长安大舰】后,你销毁之。然后你选择场上的一张牌。若此牌点数为字母,则你获得之,否则弃置之。',
|
||||
shen_machao:'神马超',
|
||||
shen_machao_prefix:'神',
|
||||
shouli:'狩骊',
|
||||
shouli_backup:'狩骊',
|
||||
shouli_info:'①游戏开始时,你令场上所有角色从你的下家起,依次使用牌堆中的一张不为赠物的坐骑牌。②你可以将场上的一张进攻坐骑牌当做【杀】(无任何次数限制),防御坐骑牌当做【闪】使用或打出。若此坐骑牌的拥有者不为你,则其非锁定技于本回合内失效。且当你或其于本回合内受到伤害时,此伤害+1且改为雷属性。',
|
||||
|
@ -7338,16 +7405,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hina_xingzhi:'幸凪',
|
||||
hina_xingzhi_info:'键势力技。每回合限一次,你可以通过“助战”触发一张牌的全部应变效果,且响应助战的角色摸两张牌。',
|
||||
tw_shen_guanyu:'TW神关羽',
|
||||
tw_shen_guanyu_prefix:'TW神',
|
||||
twwushen:'武神',
|
||||
twwushen_info:'锁定技。①你的♥手牌均视为普【杀】。②你于每阶段使用的第一张【杀】不可被响应。③你使用♥【杀】无距离和次数限制。④当你使用♥【杀】选择目标后,你令所有拥有“梦魇”标记的角色均成为此【杀】的目标。',
|
||||
twwuhun:'武魂',
|
||||
twwuhun_info:'锁定技。①当你受到其他角色造成的1点伤害后,你令伤害来源获得1枚“梦魇”标记。②当你对有“梦魇”标记的其他角色造成伤害后,你令其获得一枚“梦魇”标记。③当你死亡时,你可进行判定。若结果不为【桃】或【桃园结义】,则你选择至少一名拥有“梦魇”标记的角色。令这些角色各自失去X点体力(X为其“梦魇”标记数)。',
|
||||
shen_zhangfei:'神张飞',
|
||||
shen_zhangfei_prefix:'神',
|
||||
shencai:'神裁',
|
||||
shencai_info:'出牌阶段限一次,你可以令一名其他角色进行判定。你获得此判定牌,然后若此判定牌:包含以下要素中的任意一个,则其失去已有的下列效果,并获得对应的效果:{⒈体力:当其受到伤害后,其失去等量的体力、⒉武器:其不能使用牌响应【杀】、⒊打出:当其失去手牌后,其再随机弃置一张手牌(不嵌套触发)、⒋距离:其的结束阶段开始时,其翻面};若均不包含,你获得其区域里的一张牌,其获得一枚“死”并获得如下效果:其的角色手牌上限-X、其的回合结束时,若X大于场上存活人数,则其死亡(X为其“死”标记数)。',
|
||||
xunshi:'巡使',
|
||||
xunshi_info:'锁定技。①你手牌区内所有的多目标锦囊牌均视为花色为none的普【杀】。②你使用颜色为none的牌无距离和次数限制。③当你使用无颜色的牌选择目标后,你令你的〖神裁〗的发动次数上限+1(至多为5),然后可以为此牌增加任意个目标。',
|
||||
shen_zhangjiao:'神张角',
|
||||
shen_zhangjiao_prefix:'神',
|
||||
yizhao:'异兆',
|
||||
yizhao_info:'锁定技。当你使用或打出牌时,你获得等同于此牌点数枚“黄”标记。然后若“黄”的十位数发生变化,你获得牌堆中一张点数为你“黄”的十位数的牌。',
|
||||
sijun:'肆军',
|
||||
|
@ -7356,13 +7426,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sanshou_info:'当你受到伤害时,你可以亮出牌堆顶三张牌。若其中有本回合未被使用过的牌的类型,防止此伤害。',
|
||||
tianjie:'天劫',
|
||||
tianjie_info:'一名角色的回合结束时,若本回合牌堆洗过牌,你可以选择至多三名其他角色。你依次对每名目标角色造成X点雷电伤害(X为其手牌中【闪】的数量,至少为1)。',
|
||||
tw_shen_lvmeng: 'TW神吕蒙',
|
||||
tw_shen_lvmeng:'TW神吕蒙',
|
||||
tw_shen_lvmeng_prefix:'TW神',
|
||||
twshelie:'涉猎',
|
||||
twshelie_info:'①摸牌阶段,你可放弃摸牌并亮出牌堆顶的五张牌,然后选择获得其中每种花色的牌各一张。②每轮限一次。结束阶段,若你本回合使用的花色数不小于你的体力值,你执行一个额外的摸牌阶段或出牌阶段。',
|
||||
twgongxin:'攻心',
|
||||
twgongxin2:'攻心',
|
||||
twgongxin_info:'出牌阶段限一次。你可以观看一名其他角色的手牌,然后你可以展示其中一张牌并选择一项:1.弃置此牌;2.将此牌置于牌堆顶。若该角色手牌中的花色数因此减少,你选择一种颜色,其于本回合不能使用或打出该颜色的牌。',
|
||||
shen_dengai:'神邓艾',
|
||||
shen_dengai_prefix:'神',
|
||||
dctuoyu:'拓域',
|
||||
dctuoyu_fengtian:'丰田',
|
||||
dctuoyu_qingqu:'清渠',
|
||||
|
@ -7378,6 +7450,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dccuixin:'摧心',
|
||||
dccuixin_info:'当你不因此技能使用的基本牌或普通锦囊牌结算结束后,若此牌的目标于你使用此牌指定第一个目标时包含你的上家或下家,则你可以视为对下家或上家再使用一张牌名和元素相同的牌。',
|
||||
shen_dianwei:'神典韦',
|
||||
shen_dianwei_prefix:'神',
|
||||
juanjia:'捐甲',
|
||||
juanjia_info:'锁定技。游戏开始时,你废除一个防具栏,然后获得一个额外的武器栏。',
|
||||
qiexie:'挈挟',
|
||||
|
|
|
@ -999,10 +999,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
group:'gwweitu_gain',
|
||||
subSkill:{
|
||||
gain:{
|
||||
trigger:{player:'damageZero'},
|
||||
filter:function(event){
|
||||
return event.hujia;
|
||||
},
|
||||
trigger: {player: 'changeHujiaAfter'},
|
||||
filter: (event) => event.num < 0,
|
||||
forced:true,
|
||||
content:function(){
|
||||
player.storage.gwweitu++;
|
||||
|
@ -1190,7 +1188,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
player.chooseTarget('覆天:弃置一名角色的一张手牌',function(card,player,target){
|
||||
return target!=player&&target.countCards('h');
|
||||
}).set('ai',function(target){
|
||||
},true).set('ai',function(target){
|
||||
if(target.hasSkillTag('noh')) return 0;
|
||||
return -get.attitude(player,target)/Math.sqrt(target.countCards('h'));
|
||||
});
|
||||
|
|
|
@ -2023,6 +2023,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
shouwang2:{
|
||||
charlotte: true,
|
||||
mark:true,
|
||||
intro:{
|
||||
content:'已发动'
|
||||
|
|
|
@ -6437,7 +6437,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt2:function(event,player){
|
||||
var str=('令'+get.translation(event.player)+'即将受到的');
|
||||
str+=(''+event.num+'点');
|
||||
if(lib.linked.some(n=>event.hasNature(n))){
|
||||
if(event.hasNature('linked')){
|
||||
str+=(get.translation(event.nature)+'属性');
|
||||
}
|
||||
str+='伤害+1';
|
||||
|
@ -7061,7 +7061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}).length;
|
||||
//var str='视为额外使用'+get.cnNumber(num)+'张'
|
||||
var str='额外结算'+get.cnNumber(num)+'次'
|
||||
if(event.card.name=='sha'&&event.card.hasNature()) str+=get.translation(event.card.nature);
|
||||
if(event.card.name=='sha'&&game.hasNature(event.card)) str+=get.translation(event.card.nature);
|
||||
return (str+'【'+get.translation(event.card.name)+'】');
|
||||
},
|
||||
check:function(event,player){
|
||||
|
@ -7131,6 +7131,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
huguan:{
|
||||
audio:2,
|
||||
audioname:['wangyue'],
|
||||
init:function(player){
|
||||
game.addGlobalSkill('huguan_all');
|
||||
},
|
||||
onremove:function(player){
|
||||
game.removeGlobalSkill('huguan_all');
|
||||
},
|
||||
trigger:{global:'useCard'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
|
@ -7144,9 +7150,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
'step 0'
|
||||
player.chooseControl(lib.suit,'cancel2').set('prompt',get.prompt('huguan',trigger.player)).set('prompt2','令某种花色的手牌不计入其本回合的手牌上限').set('ai',function(){
|
||||
var player=_status.event.player,target=_status.event.getTrigger().player;
|
||||
if(get.attitude(player,target)<=0) return 'cancel2';
|
||||
var list=lib.suit.slice(0);
|
||||
var player=_status.event.player,target=_status.event.getTrigger().player,att=get.attitude(player,target);
|
||||
if(att <= 0){
|
||||
if (!player.hasSkill('yaopei') || player.hasAllHistory('useSkill',function(evt){
|
||||
return evt.skill=='huguan'&&evt.targets.includes(target);
|
||||
}) || target.needsToDiscard() - target.needsToDiscard(-target.countCards('h') / 4) > (att>-2?1.6:1)) return 'cancel2';
|
||||
}
|
||||
let list = lib.suit.slice(0);
|
||||
if(att <= 0 && target.getStorage('huguan_add')) for(let i of target.getStorage('huguan_add')){
|
||||
if (list.includes(i)) return i;
|
||||
}
|
||||
list.removeArray(target.getStorage('huguan_add'));
|
||||
if(list.length) return list.randomGet();
|
||||
return 'cancel2';
|
||||
|
@ -7174,6 +7187,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
intro:{content:'本回合$花色的牌不计入手牌上限'},
|
||||
},
|
||||
all:{
|
||||
mod:{
|
||||
aiValue:function(player, card, num){
|
||||
if(player && player.storage.huguan_all > 0 && get.itemtype(card) == 'card' && get.color(card, player) == 'red') return num + player.storage.huguan_all;
|
||||
}
|
||||
},
|
||||
trigger:{
|
||||
player:['phaseUseBegin', 'useCard']
|
||||
},
|
||||
filter:function(event, player){
|
||||
if(event.name === 'useCard') return player.storage.huguan_all;
|
||||
return true;
|
||||
},
|
||||
silent:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(trigger.name === 'useCard'){
|
||||
player.storage.huguan_all = 0;
|
||||
event.finish();
|
||||
}
|
||||
'step 1'
|
||||
let num = -157;
|
||||
game.countPlayer(function (current){
|
||||
if(current.hasSkill('huguan')) num = Math.max(num, get.attitude(_status.event.player, current));
|
||||
});
|
||||
if(num === -157) game.removeGlobalSkill('huguan_all');
|
||||
else if(num === 0) player.storage.huguan_all = 6;
|
||||
else if(num > 0) player.storage.huguan_all = 9;
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
yaopei:{
|
||||
|
@ -7217,15 +7261,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return target==player||target==_status.event.getTrigger().player;
|
||||
},
|
||||
ai1:function(card){
|
||||
return 8-get.value(card);
|
||||
let player = _status.event.player, source = _status.event.getTrigger().player;
|
||||
if(get.attitude(player, source) > 0 && (get.recoverEffect(player, player, player) > 0 || get.recoverEffect(source, player, player) > 0)) return 12 - get.value(card);
|
||||
return 8 - get.value(card);
|
||||
},
|
||||
ai2:function(target){
|
||||
var player=_status.event.player,source=_status.event.getTrigger().player;
|
||||
var recoverer=(player==target?source:player);
|
||||
if(recoverer.isHealthy()) return (get.attitude(player,target)>0?1:0);
|
||||
if(get.recoverEffect(recoverer,player,player)>0&&get.attitude(player,target)>0) return 2;
|
||||
let player = _status.event.player, source = _status.event.getTrigger().player;
|
||||
let recoverer = player === target ? source : player;
|
||||
if(recoverer.isHealthy()) return get.attitude(player, target);
|
||||
let att = get.attitude(player, recoverer), rec = get.recoverEffect(recoverer, player, player);
|
||||
if(rec > 0) return Math.abs(att) + get.attitude(player, target);
|
||||
return 0;
|
||||
},
|
||||
}
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
|
@ -7233,10 +7280,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.logSkill('yaopei',target);
|
||||
player.discard(result.cards);
|
||||
if(player==result.targets[0]){
|
||||
if(target.isDamaged()&&target.hp<player.hp&&(get.mode()!='identity'||player.identity!='nei')) player.addExpose(0.15);
|
||||
target.recover();
|
||||
player.draw(2);
|
||||
}
|
||||
else{
|
||||
if((player.isHealthy()||player.hp>target.hp)&&(get.mode()!='identity'||player.identity!='nei')) player.addExpose(0.15);
|
||||
target.draw(2);
|
||||
player.recover();
|
||||
}
|
||||
|
@ -7252,14 +7301,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
let he = player.getCards('he'),
|
||||
disval = 0,
|
||||
dis = 0,
|
||||
spare = 30,
|
||||
use = true;
|
||||
for(let i of he){
|
||||
let val = get.value(i, player);
|
||||
if(val < 6 && get.position(i) == 'h'){
|
||||
dis++;
|
||||
disval += val;
|
||||
}
|
||||
else if(val < spare) spare = val;
|
||||
}
|
||||
if(!dis){
|
||||
dis = 1;
|
||||
disval = spare;
|
||||
spare = -1;
|
||||
}
|
||||
let draw = Math.min(trigger.player.countCards('h'), 5 + dis - player.countCards('h'));
|
||||
if(6 * draw < disval) use = false;
|
||||
player.chooseToDiscard('he',get.prompt('mingluan'),'弃置任意张牌,并摸等同于'+get.translation(trigger.player)+'手牌数的牌(至多摸至五张)',[1,Infinity]).set('ai',function(card){
|
||||
var player=_status.event.player;
|
||||
var ph=player.countCards('h');
|
||||
if(get.position(card)=='h') ph--;
|
||||
var num=Math.min(_status.event.getTrigger().player.countCards('h'),5-ph);
|
||||
if(num>0) return 3.5*num+0.01-get.value(card);
|
||||
return 0.01-get.value(card);
|
||||
}).logSkill=['mingluan',trigger.player];
|
||||
let val = get.value(card, player);
|
||||
if(val < 0 && card.name !== 'du') return 30;
|
||||
if(!_status.event.use) return 0;
|
||||
if(ui.selected.cards.length){
|
||||
if (get.position(card) !== 'h') return 0;
|
||||
return 6 - val;
|
||||
}
|
||||
if(_status.event.spare < 0 || get.position(card) === 'h') return 30 - val;
|
||||
return 0;
|
||||
}).set('spare',spare).set('use',use).logSkill=['mingluan',trigger.player];
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var num=trigger.player.countCards('h'),num2=5-player.countCards('h');
|
||||
|
@ -8235,6 +8307,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return max2;
|
||||
},
|
||||
audio:2,
|
||||
init:function(player){
|
||||
game.addGlobalSkill('fengxiang_use');
|
||||
},
|
||||
onremove:function(player){
|
||||
game.removeGlobalSkill('fengxiang_use');
|
||||
},
|
||||
trigger:{player:'damageEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
|
@ -8265,6 +8343,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.draw();
|
||||
},
|
||||
},
|
||||
use:{
|
||||
mod:{
|
||||
aiOrder:function(player,card,num){
|
||||
if(num>0&&get.itemtype(card)==='card'&&card.hasGaintag('fengxiang_tag')&&game.hasPlayer(current=>{
|
||||
return current.hasSkill('fengxiang')&&get.attitude(player,current)>0;
|
||||
})) return num+10;
|
||||
}
|
||||
},
|
||||
trigger:{player:'dieAfter'},
|
||||
filter:function(event,player){
|
||||
for(let i of game.players){
|
||||
if(i.hasSkill('fengxiang')) return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
silent:true,
|
||||
forceDie:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
game.removeGlobalSkill('fengxiang_use');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
//阚泽
|
||||
|
@ -9955,17 +10055,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
perfectPair:{},
|
||||
characterReplace:{
|
||||
dongbai:['re_dongbai','dongbai','jsrg_dongbai'],
|
||||
dongbai:['dongbai','re_dongbai','jsrg_dongbai'],
|
||||
chunyuqiong:['chunyuqiong','re_chunyuqiong','jsrg_chunyuqiong'],
|
||||
kanze:['re_kanze','kanze'],
|
||||
kanze:['kanze','re_kanze'],
|
||||
chendeng:['ol_chendeng','re_chendeng','chendeng','jsrg_chendeng'],
|
||||
miheng:['miheng','re_miheng'],
|
||||
miheng:['re_miheng','miheng'],
|
||||
liuba:['ol_liuba','dc_liuba','liuba'],
|
||||
lvkuanglvxiang:['lvkuanglvxiang','dc_lvkuanglvxiang'],
|
||||
dc_huangquan:['dc_huangquan','xf_huangquan'],
|
||||
dc_huangquan:['xf_huangquan','dc_huangquan'],
|
||||
yuejiu:['dc_yuejiu','yuejiu'],
|
||||
jiling:['dc_jiling','tw_jiling','jiling'],
|
||||
sp_jiaxu:['dc_sp_jiaxu','sp_jiaxu','yj_jiaxu'],
|
||||
sp_jiaxu:['sp_jiaxu','dc_sp_jiaxu','yj_jiaxu'],
|
||||
qiaorui:['qiaorui','tw_qiaorui'],
|
||||
mamidi:['mamidi','xin_mamidi'],
|
||||
},
|
||||
|
@ -10247,7 +10347,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcsilve_info:'游戏开始时,你选择一名其他角色(对其他角色不可见),称为“私掠”角色。然后你获得以下效果:①当“私掠”角色造成伤害后,若你本回合未因此效果得到过受伤角色的牌,你可以获得受伤角色一张牌;②当“私掠”角色受到其他角色造成的伤害后,若伤害来源存活,你须对伤害来源使用一张【杀】(无距离限制),否则你弃置一张手牌。',
|
||||
dcshuaijie:'衰劫',
|
||||
dcshuaijie_info:'限定技。出牌阶段,若你的体力值与装备区里的牌数均大于“私掠”角色,或没有角色有“私掠”,你可以减1点体力上限,然后选择一项:1.获得“私掠”角色至多三张牌;2.从牌堆随机获得三张类型各不同的牌。最后将你的“私掠”角色改为你。',
|
||||
dc_sp_jiaxu:'魏贾诩',
|
||||
dc_sp_jiaxu:'新杀SP贾诩',
|
||||
dc_sp_jiaxu_prefix:'新杀SP',
|
||||
dcjianshu:'间书',
|
||||
dcjianshu_info:'出牌阶段限一次。你可以将一张黑色手牌交给一名其他角色,并选择另一名其他角色,你令前者与后者拼点。赢的角色随机弃置一张牌,没赢的角色失去1点体力。若有角色因此死亡,你令你〖间书〗于此阶段发动的次数上限+1。',
|
||||
dcyongdi:'拥嫡',
|
||||
|
@ -10256,7 +10357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcjuying:'踞营',
|
||||
dcjuying_info:'出牌阶段结束时,若你于此阶段内使用【杀】的次数未达到上限,你可以选择任意项:1.下回合使用【杀】的次数上限+1;2.本回合手牌上限+2;3.摸三张牌。若你选择的项数超过了你的体力值,你弃置一张牌。',
|
||||
dc_huanghao:'新杀黄皓',
|
||||
dc_huanghao_ab:'黄皓',
|
||||
dc_huanghao_prefix:'新杀',
|
||||
dcqinqing:'寝情',
|
||||
dcqinqing_info:'结束阶段,你可以弃置一名攻击范围内包含一号位的其他角色一张牌。然后若其手牌数大于一号位,你摸一张牌。',
|
||||
dccunwei:'存畏',
|
||||
|
@ -10296,6 +10397,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcneifa:'内伐',
|
||||
dcneifa_info:'出牌阶段开始时,你可以摸三张牌,然后弃置一张牌。若你弃置的牌类型为:基本牌,本阶段你不能使用锦囊牌,且【杀】的使用次数上限+X且可以额外指定一名目标;锦囊牌,本阶段你不能使用基本牌,且使用普通锦囊牌选择目标时可以增加或减少一个目标(X为你发动〖内伐〗弃牌后手牌中因〖内伐〗而不能使用的牌的数量且最多为5。你以此法选择的额外目标均无距离限制)。',
|
||||
dc_sunziliufang:'新杀孙资刘放',
|
||||
dc_sunziliufang_prefix:'新杀',
|
||||
dcqinshen:'勤慎',
|
||||
dcqinshen_info:'弃牌阶段结束时,你可以摸X张牌(X为本回合未进入过弃牌堆的花色数)。',
|
||||
dcweidang:'伪谠',
|
||||
|
@ -10374,6 +10476,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcgonghu:'共护',
|
||||
dcgonghu_info:'锁定技。①当你于回合外失去基本牌后,若你本回合内失去基本牌的数量大于1,你将〖破锐〗改为每轮限两次。②当你造成或受到伤害后,若你本回合内造成或受到的总伤害大于1,你删除〖破锐〗中的“,然后你交给其X张手牌”。③当你使用红色基本牌/红色普通锦囊牌时,若你已发动过〖共护①〗和〖共护②〗,则此牌不可被响应/可额外增加一个目标。',
|
||||
yue_caiwenji:'乐蔡琰',
|
||||
yue_caiwenji_prefix:'乐',
|
||||
dcshuangjia:'霜笳',
|
||||
dcshuangjia_tag:'胡笳',
|
||||
dcshuangjia_info:'锁定技。①游戏开始,你将你的手牌标记为“胡笳”。②你的“胡笳”牌不计入手牌上限。③其他角色至你的距离+X(X为你的“胡笳”数且至多为5)。',
|
||||
|
@ -10383,6 +10486,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcyouzhan:'诱战',
|
||||
dcyouzhan_info:'锁定技。当其他角色于你的回合内失去牌后,你摸一张牌,且其获得如下效果:1.其于此回合下一次受到的伤害+1;2.结束阶段,若其于此回合未受到过伤害,其摸X张牌(X为其此回合失去过牌的次数)。',
|
||||
yue_zhoufei:'乐周妃',
|
||||
yue_zhoufei_prefix:'乐',
|
||||
dclingkong:'灵箜',
|
||||
dclingkong_tag:'箜篌',
|
||||
dclingkong_info:'锁定技。①游戏开始时,你将所有手牌标记为“箜篌”。②你的“箜篌”牌不计入手牌上限。③当你于回合外获得牌后,系统随机将其中的一张牌标记为“箜篌”。',
|
||||
|
|
|
@ -4095,7 +4095,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
translate:{
|
||||
//江山如故·起
|
||||
jsrg_liuhong:'起刘宏',
|
||||
jsrg_liuhong_ab:'刘宏',
|
||||
jsrg_liuhong_prefix:'起',
|
||||
jsrgchaozheng:'朝争',
|
||||
jsrgchaozheng_info:'准备阶段,你可以令所有其他角色议事。若结果为:红色,意见为红色的角色各回复1点体力;黑色,意见为红色的角色各失去1点体力。然后若所有意见均相同,你摸X张牌(X为此次议事的角色数)。',
|
||||
jsrgshenchong:'甚宠',
|
||||
|
@ -4107,7 +4107,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgbahu:'跋扈',
|
||||
jsrgbahu_info:'锁定技。①准备阶段,你摸一张牌。②你使用【杀】的次数上限+1。',
|
||||
jsrg_hejin:'起何进',
|
||||
jsrg_hejin_ab:'何进',
|
||||
jsrg_hejin_prefix:'起',
|
||||
jsrgzhaobing:'诏兵',
|
||||
jsrgzhaobing_info:'结束阶段,你可以弃置所有手牌,然后令至多X名其他角色依次选择一项:1.正面向上交给你一张【杀】;2.失去1点体力(X为你本次弃置的牌数)。',
|
||||
jsrgzhuhuan:'诛宦',
|
||||
|
@ -4115,37 +4115,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgyanhuo:'延祸',
|
||||
jsrgyanhuo_info:'锁定技。当你死亡时,你增加如下全局技能:当有角色使用【杀】时,此【杀】的伤害值基数+1。',
|
||||
jsrg_sunjian:'起孙坚',
|
||||
jsrg_sunjian_ab:'孙坚',
|
||||
jsrg_sunjian_prefix:'起',
|
||||
jsrgpingtao:'平讨',
|
||||
jsrgpingtao_info:'出牌阶段限一次。你可以令一名其他角色选择一项:1.交给你一张牌,然后你于此回合使用【杀】的次数上限+1;2.令你视为对其使用一张【杀】。',
|
||||
jsrgjuelie:'绝烈',
|
||||
jsrgjuelie_info:'当你使用【杀】指定一名角色为目标后,你可以弃置任意张牌并弃置其等量的牌,然后若你的手牌数或体力值最小,此【杀】对其的伤害基数+1。',
|
||||
jsrg_huangfusong:'起皇甫嵩',
|
||||
jsrg_huangfusong_ab:'皇甫嵩',
|
||||
jsrg_huangfusong_prefix:'起',
|
||||
jsrgguanhuo:'观火',
|
||||
jsrgguanhuo_info:'①出牌阶段,你可以视为使用一张【火攻】。②当你因〖观火①〗使用的【火攻】结算结束后,若此牌未造成过伤害,且:若{你此阶段发动〖观火①〗的次数为1,则你于此阶段造成渠道为【火攻】的伤害时,此伤害+1},否则你失去〖观火〗。',
|
||||
jsrgjuxia:'居下',
|
||||
jsrgjuxia_info:'每回合限一次。当其他角色使用牌指定你为目标后,若其技能数多于你,其可以令此牌对你无效,然后令你摸两张牌。',
|
||||
jsrg_xushao:'起许劭',
|
||||
jsrg_xushao_ab:'许劭',
|
||||
jsrg_xushao_prefix:'起',
|
||||
jsrgyingmen:'盈门',
|
||||
jsrgyingmen_info:'锁定技。①游戏开始时,你将武将牌堆中随机四张武将牌置于你的武将牌上,称为“访客”。②回合开始时,若你的“访客”数小于4,你随机从武将牌堆中将“访客”补至四张。',
|
||||
jsrgpingjian:'评鉴',
|
||||
jsrgpingjian_info:'你可以于满足你“访客”上的一个无技能标签或仅有锁定技标签的技能条件的时机发动此技能,然后你选择移去一张“访客”。若移去的是本次发动技能的“访客”,你摸一张牌。',
|
||||
jsrg_dongbai:'起董白',
|
||||
jsrg_dongbai_ab:'董白',
|
||||
jsrg_dongbai_prefix:'起',
|
||||
jsrgshichong:'恃宠',
|
||||
jsrgshichong_info:'转换技。当你使用牌指定其他角色为唯一目标后,阴:你可以获得目标角色一张手牌;阳:目标角色可以交给你一张手牌。',
|
||||
jsrglianzhu:'连诛',
|
||||
jsrglianzhu_info:'出牌阶段限一次。你可以展示一张黑色手牌并交给一名其他角色,然后视为你对所有与其势力相同的其他角色依次使用一张【过河拆桥】。',
|
||||
jsrg_qiaoxuan:'起桥玄',
|
||||
jsrg_qiaoxuan_ab:'桥玄',
|
||||
jsrg_qiaoxuan_prefix:'起',
|
||||
jsrgjuezhi:'绝质',
|
||||
jsrgjuezhi_info:'①当你失去一张装备区里的装备牌后,你可以废除对应的装备栏。②你的回合每阶段限一次。当你使用牌对目标角色造成伤害时,你令此伤害+X(X为其装备区里的牌与你已废除的装备栏中相同副类别的数量)。',
|
||||
jsrgjizhao:'急召',
|
||||
jsrgjizhao_info:'准备阶段或结束阶段,你可以令一名角色选择一项:1.使用一张手牌;2.令你可以移动其区域里的一张牌。',
|
||||
jsrg_yangbiao:'起杨彪',
|
||||
jsrg_yangbiao_ab:'杨彪',
|
||||
jsrg_yangbiao_prefix:'起',
|
||||
jsrgzhaohan:'昭汉',
|
||||
jsrgzhaohan_info:'锁定技。准备阶段,若本局游戏:未洗过牌,你回复1点体力;洗过牌,你失去1点体力。',
|
||||
jsrgrangjie:'让节',
|
||||
|
@ -4153,38 +4153,38 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgyizheng:'义争',
|
||||
jsrgyizheng_info:'出牌阶段限一次。你可以与一名手牌数大于你的角色拼点。若你:赢,其跳过下一个摸牌阶段;没赢,其可以对你造成至多2点伤害。',
|
||||
jsrg_kongrong:'起孔融',
|
||||
jsrg_kongrong_ab:'孔融',
|
||||
jsrg_kongrong_prefix:'起',
|
||||
jsrglirang:'礼让',
|
||||
jsrglirang_info:'每轮限一次。其他角色的摸牌阶段开始时,你可以交给其两张牌。然后此回合的弃牌阶段结束时,你可以获得所有其于此阶段因弃置进入弃牌堆的牌。',
|
||||
jsrgzhengyi:'争义',
|
||||
jsrgzhengyi_info:'当你每回合首次受到伤害时,本轮因〖礼让〗得到过牌的其他角色可以将此伤害转移给其。',
|
||||
jsrg_zhujun:'起朱儁',
|
||||
jsrg_zhujun_ab:'朱儁',
|
||||
jsrg_zhujun_prefix:'起',
|
||||
jsrgfendi:'分敌',
|
||||
jsrgfendi_tag:'分敌',
|
||||
jsrgfendi_info:'每回合限一次。当你使用【杀】指定唯一目标后,你可以展示其任意张手牌,令其不能使用或打出对应实体牌不全为这些牌的牌直到此【杀】结算结束。然后当此【杀】对其造成伤害后,你于其手牌区或弃牌堆获得这些牌。',
|
||||
jsrgjuxiang:'拒降',
|
||||
jsrgjuxiang_info:'当你不于摸牌阶段得到牌后,你可以弃置之,令当前回合角色于此回合额定的出牌阶段内使用【杀】的次数上限+X(X为你以此法弃置的牌的花色数)。',
|
||||
jsrg_liubei:'起刘备',
|
||||
jsrg_liubei_ab:'刘备',
|
||||
jsrg_liubei_prefix:'起',
|
||||
jsrgjishan:'积善',
|
||||
jsrgjishan_info:'①每回合限一次。当一名角色受到伤害时,你可以失去1点体力并防止此伤害,然后你与其各摸一张牌。②每回合限一次。当你造成伤害后,你可以令一名体力值最小且你对其发动过〖积善①〗的角色回复1点体力。',
|
||||
jsrgzhenqiao:'振鞘',
|
||||
jsrgzhenqiao_info:'锁定技。①你的攻击范围+1。②当你使用【杀】指定目标后,若你的武器栏为空且未废除,你令此【杀】的效果额外结算一次。',
|
||||
jsrg_wangyun:'起王允',
|
||||
jsrg_wangyun_ab:'王允',
|
||||
jsrg_wangyun_prefix:'起',
|
||||
jsrgshelun:'赦论',
|
||||
jsrgshelun_info:'出牌阶段限一次。你可以选择一名你攻击范围内的角色,然后令除其外所有手牌数不大于你的角色议事。若结果为:红色,你弃置其一张牌;黑色,你对其造成1点伤害。',
|
||||
jsrgfayi:'伐异',
|
||||
jsrgfayi_info:'当你议事结算结束后,你可以对一名意见与你不同的角色造成1点伤害。',
|
||||
jsrg_liuyan:'起刘焉',
|
||||
jsrg_liuyan_ab:'刘焉',
|
||||
jsrg_liuyan_prefix:'起',
|
||||
jsrgtushe:'图射',
|
||||
jsrgtushe_info:'当你使用非装备牌指定目标后,你可以展示所有手牌(无牌则不展示)。若你没有基本牌,你可以摸X张牌(X为此牌指定的目标数)。',
|
||||
jsrgtongjue:'通绝',
|
||||
jsrgtongjue_info:'主公技。出牌阶段限一次。你可以将任意张牌交给等量名其他群势力角色。然后你不能使用牌指定这些角色为目标直到回合结束。',
|
||||
jsrg_caocao:'起曹操',
|
||||
jsrg_caocao_ab:'曹操',
|
||||
jsrg_caocao_prefix:'起',
|
||||
jsrgzhenglve:'政略',
|
||||
jsrgzhenglve_info:'①主公的回合结束时,你可以摸一张牌,然后令一名没有“猎”标记的角色获得“猎”(若主公本回合没有造成过伤害,则改为至多两名)。②你对有“猎”的角色使用牌无距离和次数限制。③每回合限一次。当你对有“猎”的角色造成伤害后,你可以摸一张牌并获得造成此伤害的牌。',
|
||||
jsrghuilie:'会猎',
|
||||
|
@ -4192,7 +4192,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgpingrong:'平戎',
|
||||
jsrgpingrong_info:'每轮限一次。一名角色的回合结束时,你可以移去一名角色的“猎”,然后你于此回合后执行一个额外回合。该回合结束后,若你于此回合未造成过伤害,你失去1点体力。',
|
||||
jsrg_nanhualaoxian:'起南华老仙',
|
||||
jsrg_nanhualaoxian_ab:'南华老仙',
|
||||
jsrg_nanhualaoxian_prefix:'起',
|
||||
jsrgshoushu:'授术',
|
||||
jsrgshoushu_info:'锁定技。①游戏开始时,若场上没有【太平要术】,你可以从游戏外将【太平要术】置于一名角色的装备区内。②当【太平要术】离开一名角色的装备区后,你令此牌销毁。',
|
||||
jsrgxundao:'寻道',
|
||||
|
@ -4205,7 +4205,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sbpingjian_info:'你可以于满足你“访客”上的一个无技能标签或仅有锁定技标签的技能条件的时机发动此技能,然后你选择移去一张“访客”。若移去的是本次发动技能的“访客”,则你于此技能结算结束时摸一张牌。',
|
||||
//江山如故·承
|
||||
jsrg_sunce:'承孙策',
|
||||
jsrg_sunce_ab:'孙策',
|
||||
jsrg_sunce_prefix:'承',
|
||||
jsrgduxing:'独行',
|
||||
jsrgduxing_info:'出牌阶段限一次。你可以视为使用一张可以指定任意名目标角色的【决斗】,且所有目标角色的手牌均视为【杀】直到此牌结算结束。',
|
||||
jsrgzhiheng:'猘横',
|
||||
|
@ -4215,7 +4215,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgbashi:'霸世',
|
||||
jsrgbashi_info:'主公技。当你需要打出【杀】或【闪】时,你可以令其他吴势力角色选择是否打出一张【杀】或【闪】。若有角色响应,则视为你打出了一张【杀】或【闪】。',
|
||||
jsrg_xuyou:'承许攸',
|
||||
jsrg_xuyou_ab:'许攸',
|
||||
jsrg_xuyou_prefix:'承',
|
||||
jsrglipan:'离叛',
|
||||
jsrglipan_info:'回合结束时,你可以变更势力,然后摸X张牌并执行一个额外的出牌阶段。此阶段结束时,所有与你势力相同的角色依次可以将一张牌当【决斗】对你使用(X为与你势力相同的其他角色数)。',
|
||||
jsrgqingxi:'轻袭',
|
||||
|
@ -4223,7 +4223,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgjinmie:'烬灭',
|
||||
jsrgjinmie_info:'魏势力技。出牌阶段限一次。你可以选择一名手牌数大于你的角色,你视为对其使用一张火【杀】。当此牌造成伤害后,你将其手牌数弃置至与你相同。',
|
||||
jsrg_lvbu:'承吕布',
|
||||
jsrg_lvbu_ab:'吕布',
|
||||
jsrg_lvbu_prefix:'承',
|
||||
jsrgwuchang:'无常',
|
||||
jsrgwuchang_info:'锁定技。①当你获得其他角色的牌后,你变更势力为与其相同。②当你使用【杀】或【决斗】对与你势力相同的目标角色造成伤害时,此伤害+1,然后变更势力为群。',
|
||||
jsrgqingjiao:'轻狡',
|
||||
|
@ -4231,49 +4231,49 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jsrgchengxu:'乘虚',
|
||||
jsrgchengxu_info:'蜀势力技。与你势力相同的其他角色不能响应你使用的牌。',
|
||||
jsrg_zhanghe:'承张郃',
|
||||
jsrg_zhanghe_ab:'张郃',
|
||||
jsrg_zhanghe_prefix:'承',
|
||||
jsrgqiongtu:'穷途',
|
||||
jsrgqiongtu_info:'群势力技。每回合限一次。你可以将一张非基本牌置于武将牌上视为使用一张【无懈可击】。若此牌生效,你摸一张牌,否则你变更势力为魏并获得所有“穷途”牌。',
|
||||
jsrgxianzhu:'先著',
|
||||
jsrgxianzhu_info:'魏势力技。你可以将一张普通锦囊牌当无次数限制的【杀】使用。当此牌对唯一目标造成伤害后,你视为对该角色使用一张此普通锦囊牌。',
|
||||
jsrg_zoushi:'承邹氏',
|
||||
jsrg_zoushi_ab:'邹氏',
|
||||
jsrg_zoushi_prefix:'承',
|
||||
jsrgguyin:'孤吟',
|
||||
jsrgguyin_info:'准备阶段,你可以翻面,且令所有其他男性角色依次选择是否翻面。然后你和所有背面朝上的角色轮流各摸一张牌,直到你们累计以此法得到X张牌(X为场上存活角色与死亡角色中男性角色数)。',
|
||||
jsrgzhangdeng:'帐灯',
|
||||
jsrgzhangdeng_info:'①当一名武将牌背面朝上的角色需要使用【酒】时,若你的武将牌背面朝上,其可以视为使用之。②当一名角色于一回合第二次发动〖帐灯①〗时,你将武将牌翻面至正面朝上。',
|
||||
jsrg_guanyu:'承关羽',
|
||||
jsrg_guanyu_ab:'关羽',
|
||||
jsrg_guanyu_prefix:'承',
|
||||
jsrgguanjue:'冠绝',
|
||||
jsrgguanjue_info:'锁定技。当你使用或打出有花色的牌时,你令所有其他角色于此回合内不能使用或打出该花色的牌。',
|
||||
jsrgnianen:'念恩',
|
||||
jsrgnianen_info:'你可以将一张牌当任意基本牌使用或打出,然后若此牌不为红色或你以此法使用或打出的牌不为普通【杀】,则直到此回合结束,该技能失效且你视为拥有〖马术〗。',
|
||||
jsrg_chendeng:'承陈登',
|
||||
jsrg_chendeng_ab:'陈登',
|
||||
jsrg_chendeng_prefix:'承',
|
||||
jsrglunshi:'论势',
|
||||
jsrglunshi_info:'出牌阶段限一次。你可以令一名角色摸等同于其攻击范围内角色数的牌(至多摸至五张),然后其弃置等同于攻击范围内含有其的角色数的牌。',
|
||||
jsrgguitu:'诡图',
|
||||
jsrgguitu_info:'准备阶段,你可以交换场上的两张武器牌,然后攻击范围以此法减少的角色回复1点体力。',
|
||||
jsrg_zhenji:'承甄宓',
|
||||
jsrg_zhenji_ab:'甄宓',
|
||||
jsrg_zhenji_prefix:'承',
|
||||
jsrgjixiang:'济乡',
|
||||
jsrgjixiang_info:'回合内每种牌名限一次。当一名其他角色需要使用或打出一张基本牌时,你可以弃置一张牌令其视为使用或打出之,然后你摸一张牌并令〖称贤〗于此阶段可发动次数上限+1。',
|
||||
jsrgchengxian:'称贤',
|
||||
jsrgchengxian_info:'出牌阶段限两次。你可以将一张手牌当一张本回合未以此法使用过的普通锦囊牌使用(此转化牌须与以此法转化的手牌的合法目标数相同)。',
|
||||
jsrg_zhangliao:'承张辽',
|
||||
jsrg_zhangliao_ab:'张辽',
|
||||
jsrg_zhangliao_prefix:'承',
|
||||
jsrgzhengbing:'整兵',
|
||||
jsrgzhengbing_info:'群势力技。出牌阶段限三次。你可以重铸一张牌,若此牌为:【杀】,你本回合手牌上限+2;【闪】,你摸一张牌;【桃】,你变更势力为魏。',
|
||||
jsrgtuwei:'突围',
|
||||
jsrgtuwei_info:'魏势力技。出牌阶段开始时,你可以获得攻击范围内任意名角色各一张牌。然后此回合结束时,这些角色中未于本回合受到过伤害的角色依次获得你的一张牌。',
|
||||
jsrg_xugong:'承许贡',
|
||||
jsrg_xugong_ab:'许贡',
|
||||
jsrg_xugong_prefix:'承',
|
||||
jsrgbiaozhao:'表召',
|
||||
jsrgbiaozhao_info:'准备阶段,你可以选择两名其他角色A和B。直到你的下回合开始时或你死亡后,A对B使用牌无次数和距离限制,且B对你使用的牌造成的伤害+1。',
|
||||
jsrgyechou:'业仇',
|
||||
jsrgyechou_info:'当你死亡时,你可以令一名其他角色获得如下效果:当其受到伤害值不小于其体力值的伤害时,其令此伤害翻倍。',
|
||||
jsrg_chunyuqiong:'承淳于琼',
|
||||
jsrg_chunyuqiong_ab:'淳于琼',
|
||||
jsrg_chunyuqiong_prefix:'承',
|
||||
jsrgcangchu:'仓储',
|
||||
jsrgcangchu_info:'一名角色的结束阶段,你可以令至多X名角色各摸一张牌,若X大于存活角色数,则改为各摸两张牌(X为你于此回合得到的牌数)。',
|
||||
jsrgshishou:'失守',
|
||||
|
|
|
@ -8055,7 +8055,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},targets[0],targets[1])
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
order:function(){
|
||||
return get.order({name:'tao'})+1;
|
||||
},
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(player.hasUnknown()&&target!=player.next&&target!=player.previous) return 0;
|
||||
|
@ -9622,7 +9624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
group:['relihuo_baigei','relihuo_damage'],
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
},
|
||||
check:function(event,player){
|
||||
return false;
|
||||
|
@ -9648,7 +9650,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
forced:true,
|
||||
audio:'relihuo',
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha'||!event.card.hasNature('fire')) return false;
|
||||
if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false;
|
||||
var num=0;
|
||||
player.getHistory('sourceDamage',function(evt){
|
||||
if(evt.card==event.card) num+=evt.num;
|
||||
|
@ -10723,7 +10725,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
'step 1'
|
||||
if(!result.bool) player.draw();
|
||||
else player.chooseUseTarget({name:result.links[0][2],isCard:true,nature:result.links[0][3]});
|
||||
else player.chooseUseTarget({name:result.links[0][2],isCard:true,nature:result.links[0][3]},true);
|
||||
},
|
||||
},
|
||||
zhiyi:{
|
||||
|
@ -14110,7 +14112,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
liuzan:'手杀留赞',
|
||||
re_sp_zhugeliang:"手杀卧龙",
|
||||
liuzan_prefix:'手杀',
|
||||
re_sp_zhugeliang:'手杀卧龙',
|
||||
re_sp_zhugeliang_prefix:'手杀',
|
||||
ly_piliche:'霹雳车',
|
||||
ly_piliche_info:'当你对其他角色造成伤害后,你可以弃置其装备区内的所有牌。',
|
||||
polu:'破橹',
|
||||
|
@ -14229,6 +14233,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xinfu_qiaosi":"巧思",
|
||||
"xinfu_qiaosi_info":"出牌阶段限一次,你可以投掷一枚六面骰子,展示牌堆顶的X张牌并获得之。然后,你选择一项:1.交给一名其他角色X张牌。2.弃置X张牌。(X为骰子的点数)",
|
||||
xin_xiahoudun:'手杀夏侯惇',
|
||||
xin_xiahoudun_prefix:'手杀',
|
||||
xinqingjian:'清俭',
|
||||
xinqingjian2:'清俭',
|
||||
xinqingjian_info:'每回合限一次。当你不因摸牌阶段的额定摸牌而得到牌后,你可以将任意张牌扣置于武将牌上。回合结束时,你将这些牌交给一名其他角色。若这些牌的数量大于1,你摸一张牌。',
|
||||
|
@ -14242,16 +14247,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhongzuo_info:'一名角色的结束阶段开始时,若你于此回合内造成或受到过伤害,则你可以令一名角色摸两张牌。若该角色已受伤,则你摸一张牌。',
|
||||
wanlan:'挽澜',
|
||||
wanlan_info:'限定技,当一名角色进入濒死状态时,你可以弃置所有手牌(无牌可不弃)。其回复体力至1点,然后你对当前回合角色造成1点伤害。',
|
||||
re_jikang:"手杀嵇康",
|
||||
old_caochun:'旧曹纯',
|
||||
re_jikang:'手杀嵇康',
|
||||
re_jikang_prefix:'手杀',
|
||||
shenpei:'审配',
|
||||
re_wangyun:'手杀王允',
|
||||
re_wangyun_prefix:'手杀',
|
||||
relianji:'连计',
|
||||
relianji_info:'出牌阶段限一次,你可以选择两名其他角色。第一名角色随机使用牌堆中的一张武器牌,然后这名角色视为对另一名角色随机使用一张下列的牌名的牌:【决斗】、【火攻】、【南蛮入侵】、【万箭齐发】或普【杀】。然后若此牌造成伤害,你获得X枚“连计”标记(X为此次扣减的体力值点数)。',
|
||||
remoucheng:'谋逞',
|
||||
remoucheng_info:'觉醒技,当一名角色因〖连计〗造成伤害后,若你拥有的“连计”标记数大于2,你加1点体力上限,回复1点体力,失去“连计”,获得“矜功”。',
|
||||
mobile_default:'常规',
|
||||
mobile_others:'其他',
|
||||
|
||||
shouye:'守邺',
|
||||
shouye_info:'每回合限一次。当其他角色使用牌指定你为唯一目标时,你可以与其进行【对策】。若你赢,则你取消此牌的目标,且你于此牌结算完成后获得其对应的所有实体牌。',
|
||||
|
@ -14272,6 +14276,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rezhennan_info:'当你成为其他角色使用的牌的目标后,若此牌的目标数大于该角色的体力值,则你可以弃置一张牌并对其造成1点伤害。',
|
||||
|
||||
hujinding:'手杀胡金定',
|
||||
hujinding_prefix:'手杀',
|
||||
huaizi:'怀子',
|
||||
huaizi_info:'锁定技,你的手牌上限为你的体力上限。',
|
||||
renshi:'仁释',
|
||||
|
@ -14280,8 +14285,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wuyuan_info:'出牌阶段限一次,你可将一张【杀】交给一名其他角色,然后你回复1点体力,其摸一张牌。若此【杀】为:红色【杀】,其回复1点体力;属性【杀】,其改为摸两张牌。',
|
||||
|
||||
re_weiwenzhugezhi:'手杀卫温诸葛直',
|
||||
re_weiwenzhugezhi_prefix:'手杀',
|
||||
gz_re_xugong:'许贡',
|
||||
re_xugong:'手杀许贡',
|
||||
re_xugong_prefix:'手杀',
|
||||
re_zhanggong:'手杀张恭',
|
||||
re_zhanggong_prefix:'手杀',
|
||||
reqianxin:'遣信',
|
||||
reqianxin_info:'出牌阶段限一次,你可将至多两张手牌随机交给等量的其他角色,称为「信」。这些角色的准备阶段开始时,若其手牌中有「信」,则其选择一项:令你摸两张牌,本回合手牌上限-2。',
|
||||
rebiaozhao:"表召",
|
||||
|
@ -14310,6 +14319,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
//仲村 由理
|
||||
|
||||
yangbiao:'手杀杨彪',
|
||||
yangbiao_prefix:'手杀',
|
||||
zhaohan:'昭汉',
|
||||
zhaohan_info:'锁定技,你的第1-4个准备阶段开始时,你加1点体力上限并回复1点体力,你的第5-7个准备阶段开始时,你减1点体力上限。',
|
||||
rangjie:'让节',
|
||||
|
@ -14318,18 +14328,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yizheng2:'义争',
|
||||
yizheng_info:'出牌阶段限一次,你可以和一名体力值不大于你的其他角色拼点。若你赢,其跳过下个摸牌阶段。若你没赢,你减1点体力上限。',
|
||||
re_heqi:'手杀贺齐',
|
||||
re_heqi_prefix:'手杀',
|
||||
reqizhou:'绮胄',
|
||||
reqizhou_info:'锁定技,你根据装备区里牌的花色数获得以下技能:1种或以上:〖英姿〗;2种或以上:〖奇袭〗;3种或以上:〖旋风〗。',
|
||||
reshanxi:'闪袭',
|
||||
reshanxi2:'闪袭',
|
||||
reshanxi_info:'出牌阶段开始时,你可以弃置一张红色基本牌并选择一名有牌的其他角色,将其的至多X张牌置于其的武将牌上(X为你的体力值)。回合结束时,该角色获得这些牌。',
|
||||
chendeng:'手杀陈登',
|
||||
chendeng_prefix:'手杀',
|
||||
zhouxuan:'周旋',
|
||||
zhouxuan2:'周旋',
|
||||
zhouxuan_info:'出牌阶段限一次,你可以弃置一张牌并指定一名角色,然后选择一个基本牌的名称或非基本牌的类型。其使用或打出下一张牌时,若此牌的名称或类型和你选择的相同,则你观看牌堆顶的三张牌,然后将这些牌以任意分割方式交给任意名角色。',
|
||||
fengji:'丰积',
|
||||
fengji_info:'锁定技,回合结束时,你记录你的手牌数。准备阶段开始时,若你的手牌数不小于你记录的手牌数,则你摸两张牌且本回合手牌上限为体力上限。',
|
||||
re_guanqiujian:'手杀毌丘俭',
|
||||
re_guanqiujian_prefix:'手杀',
|
||||
rezhengrong:'征荣',
|
||||
rehongju:'鸿举',
|
||||
reqingce:'清侧',
|
||||
|
@ -14337,22 +14350,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rezhengrong_info:'当你于出牌阶段使用的指定了其他角色为目标的牌结算完成后,若此牌是你本局游戏内于出牌阶段使用的指定了其他角色为目标的第偶数张牌,则你可以将一名其他角色角色的随机一张牌置于你的武将牌上,称为「荣」。',
|
||||
rehongju_info:'觉醒技,准备阶段,若你武将牌上「荣」的数量不小于3且有角色死亡,则你摸等同于「荣」数量的牌。然后可以用任意数量的手牌交换等量的「荣」。你减1点体力上限并获得技能〖清侧〗。',
|
||||
reqingce_info:'出牌阶段,你可以将一张「荣」置入弃牌堆,然后弃置场上的一张牌。',
|
||||
re_pangtong:"手杀庞统",
|
||||
re_pangtong:'手杀庞统',
|
||||
re_pangtong_prefix:'手杀',
|
||||
dongcheng:'手杀董承',
|
||||
dongcheng_prefix:'手杀',
|
||||
chengzhao:'承诏',
|
||||
chengzhao_info:'一名角色的结束阶段,若你于本回合内获得了两张以上的牌,则你可以与一名其他角色拼点。若你赢,你视为对其使用一张无视防具的【杀】。',
|
||||
yangyi:'手杀杨仪',
|
||||
yangyi_prefix:'手杀',
|
||||
duoduan:'度断',
|
||||
duoduan_info:'每回合限一次,当你成为【杀】的目标后,你可以重铸一张牌。若如此做,你选择一项:①令使用者摸两张牌,且此【杀】无效。②令使用弃置一张牌,且你不能响应此【杀】。',
|
||||
gongsun:'共损',
|
||||
gongsun_info:'出牌阶段开始时,你可以弃置两张牌并指定一名其他角色。你选择一个基本牌或普通锦囊牌的牌名。直到你的下回合开始或你死亡,你与其不能使用或打出或弃置此名称的牌。',
|
||||
gongsun_shadow:'共损',
|
||||
xin_chengpu:'手杀程普',
|
||||
xin_chengpu_prefix:'手杀',
|
||||
relihuo:'疠火',
|
||||
relihuo_damage:'疠火',
|
||||
relihuo_baigei:'疠火',
|
||||
relihuo_info:'当你使用普【杀】时,你可以将此杀改为火属性。若如此做,当你因执行此【杀】的效果而对横置角色造成伤害时,此伤害+1;当你使用的火【杀】结算完成后,你失去X点体力(X为你因此【杀】造成的伤害总点数的一半且向下取整)',
|
||||
dengzhi:'手杀邓芝',
|
||||
dengzhi_prefix:'手杀',
|
||||
jimeng:'急盟',
|
||||
jimeng_info:'出牌阶段开始时,你可以获得一名其他角色的一张牌,然后交给该角色X张牌(X为你当前体力值)。',
|
||||
shuaiyan:'率言',
|
||||
|
@ -14364,9 +14382,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
|
||||
mobile_yijiang:'将星独具',
|
||||
yj_zhanghe:'☆张郃',
|
||||
yj_zhanghe_prefix:'☆',
|
||||
yj_zhangliao:'☆张辽',
|
||||
yj_zhangliao_prefix:'☆',
|
||||
yj_xuhuang:'☆徐晃',
|
||||
yj_xuhuang_prefix:'☆',
|
||||
yj_ganning:'☆甘宁',
|
||||
yj_ganning_prefix:'☆',
|
||||
xhzhiyan:'治严',
|
||||
xhzhiyan_info:'出牌阶段,若你的手牌数不等于体力上限,则你可以将手牌摸至/弃至手牌上限,然后本回合不能对其他角色使用牌/可以将弃置的一张牌交给一名其他角色。',
|
||||
zhilve:'知略',
|
||||
|
@ -14388,6 +14410,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gnsheque:'射却',
|
||||
gnsheque_info:'一名其他角色的准备阶段开始时,若其装备区内有牌,则你可以对其使用一张【杀】(无距离关系的限制且无视防具)。',
|
||||
sp_sufei:'手杀苏飞',
|
||||
sp_sufei_prefix:'手杀',
|
||||
zhengjian:'诤荐',
|
||||
zhengjian_draw:'诤荐',
|
||||
zhengjian_mark:'诤荐',
|
||||
|
@ -14399,34 +14422,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinwanlan:'挽澜',
|
||||
xinwanlan_info:'当一名角色受到伤害值不小于体力值的伤害时,你可以弃置装备区中的所有牌(至少一张) 防止此伤害。',
|
||||
re_xusheng:'手杀徐盛',
|
||||
re_xusheng_prefix:'手杀',
|
||||
re_dongzhuo:'手杀董卓',
|
||||
re_dongzhuo_prefix:'手杀',
|
||||
rejiuchi:'酒池',
|
||||
rejiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,当你于回合内使用带有【酒】效果的【杀】造成伤害时,你令你的【崩坏】失效直到回合结束。',
|
||||
furong:'手杀傅肜',
|
||||
furong_prefix:'手杀',
|
||||
xuewei:'血卫',
|
||||
xuewei_info:'准备阶段,你可以选择一名其他角色(仅自己可见)。若如此做,直到你的下回合开始前,当其第一次受到伤害时,你防止此伤害,改为由你受到等量的伤害并对伤害来源造成等量同属性的伤害。',
|
||||
liechi:'烈斥',
|
||||
liechi_info:'锁定技,当你进入濒死状态时,伤害来源弃置一张牌。',
|
||||
xin_liaohua:'手杀廖化',
|
||||
xin_liaohua_prefix:'手杀',
|
||||
redangxian:'当先',
|
||||
redangxian_info:'锁定技,回合开始时,你从弃牌堆中获得一张【杀】并进行一个额外的出牌阶段。',
|
||||
refuli:'伏枥',
|
||||
refuli_info:'限定技,当你处于濒死状态时,你可以将体力值回复至X点(X为势力数)。然后若你的体力值为全场唯一最多,你翻面。',
|
||||
xin_caozhang:'手杀曹彰',
|
||||
xin_caozhang_prefix:'手杀',
|
||||
"rejiangchi":"将驰",
|
||||
"rejiangchi_info":"出牌阶段开始时,你可以选择一项:1、摸一张牌,若如此做,你本阶段内不能使用【杀】。 2、弃置一张牌,若如此做,此阶段你使用【杀】无距离限制且你可以额外使用一张【杀】。",
|
||||
rezhenxing:"镇行",
|
||||
rezhenxing_info:"结束阶段开始时或当你受到伤害后,你可以观看牌堆顶的三张牌,然后你获得其中与其余牌花色均不相同的一张牌。",
|
||||
xin_jianyong:'手杀简雍',
|
||||
xin_jianyong_prefix:'手杀',
|
||||
xinqiaoshui:'巧说',
|
||||
xinqiaoshui_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,则你本阶段内使用的下一张基本牌或普通锦囊牌可以增加减少一个目标。若你没赢,你本阶段内不能使用锦囊牌。',
|
||||
xinjyzongshi:'纵适',
|
||||
xinjyzongshi_info:'当你拼点后,你可以观看牌堆顶的一张牌,然后选择一项:获得此牌,或获得两张拼点牌中点数较小的一张。',
|
||||
dingyuan:'手杀丁原',
|
||||
dingyuan_prefix:'手杀',
|
||||
beizhu:'备诛',
|
||||
beizhu_draw:'备诛',
|
||||
beizhu_info:'出牌阶段限一次,你可以观看一名其他角色的手牌。若其中:没有【杀】,你弃置其一张牌,然后你可令其获得牌堆中的一张【杀】;有【杀】,其依次对你使用这些【杀】,当你因此受到1点伤害后,你摸一张牌。',
|
||||
xin_zhuran:'手杀朱然',
|
||||
xin_zhuran_prefix:'手杀',
|
||||
mobiledanshou:'胆守',
|
||||
mobiledanshou_info:'一名其他角色的结束阶段开始时,若X:为0,你摸一张牌;不等于0,你可弃置X张牌并对其造成1点伤害(X为其本回合内使用的目标包含你的牌的数量)',
|
||||
yanghuiyu:'羊徽瑜',
|
||||
|
@ -14448,16 +14479,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shanli:'擅立',
|
||||
shanli_info:'觉醒技,准备阶段,若你已发动过〖败移〗且对至少两名角色发动过〖景略〗,则你减1点体力上限并选择一名角色。系统随机选择三个不为〖忘隙(仲村由理)〗的主公技,然后你选择其中一个技能,令其获得之。其将交互表情中的【拖鞋】和【酒杯】替换为【枷锁】和【玉玺】。',
|
||||
re_lingtong:'手杀凌统',
|
||||
re_lingtong_prefix:'手杀',
|
||||
re_liubiao:'手杀刘表',
|
||||
re_liubiao_prefix:'手杀',
|
||||
hucheer:'手杀胡车儿',
|
||||
hucheer_prefix:'手杀',
|
||||
daoji:'盗戟',
|
||||
daoji_info:'出牌阶段限一次,你可以弃置一张非基本牌并选择一名装备区里有牌的其他角色,你获得其装备区中的一张牌并使用之。若你以此法得到的牌是武器牌,则你使用此牌后对其造成1点伤害。',
|
||||
xin_hansui:'手杀韩遂',
|
||||
xin_hansui_prefix:'手杀',
|
||||
xinniluan:'逆乱',
|
||||
xinniluan_info:'其他角色的结束阶段,若其本回合对除其以外的角色使用过牌,则你可以对其使用一张【杀】。若以此法使用的【杀】造成伤害,则你弃置其一张牌。',
|
||||
xiaoxi_hansui:'骁袭',
|
||||
xiaoxi_hansui_info:'你可以将一张黑色牌当做【杀】使用或打出。',
|
||||
xin_zhangfei:'手杀张飞',
|
||||
xin_zhangfei_prefix:'手杀',
|
||||
liyong:'厉勇',
|
||||
liyong2:'厉勇',
|
||||
liyong3:'厉勇',
|
||||
|
@ -14472,33 +14508,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
taomie4:'讨灭',
|
||||
taomie_info:'当你受到伤害后或当你造成伤害后,你可以令伤害来源或受伤角色获得“讨灭”标记(如场上已有标记则转移给该角色);你和拥有“讨灭”标记的角色视为在彼此的攻击范围内,且当你对该角色造成伤害时,选择一项:1. 此伤害+1;2. 你获得其区域内的一张牌并可将之交给另一名角色;3. 依次执行前两项并于伤害结算后弃置其“讨灭”标记。',
|
||||
xin_guohuai:'手杀郭淮',
|
||||
xin_guohuai_prefix:'手杀',
|
||||
mobilejingce:'精策',
|
||||
mobilejingce_info:'结束阶段,若此回合因使用或打出而置入弃牌堆的牌的数量不小于你的体力值,则你可以摸两张牌。',
|
||||
xin_panzhangmazhong:'手杀潘璋马忠',
|
||||
xin_panzhangmazhong_prefix:'手杀',
|
||||
xinduodao:'夺刀',
|
||||
xinduodao_info:'当你受到伤害后,你可以获得伤害来源装备区里的武器牌。',
|
||||
xinanjian:'暗箭',
|
||||
xinanjian_info:'锁定技,当你使用【杀】指定目标后,若你不在目标角色攻击范围内,你选择一项:1. 令其无法响应此【杀】;2. 其受到此【杀】造成的伤害+1。',
|
||||
xin_fuhuanghou:'手杀伏寿',
|
||||
xin_fuhuanghou_prefix:'手杀',
|
||||
xinzhuikong:'惴恐',
|
||||
xinzhuikong_info:'每轮限一次,其他角色的回合开始时,若其体力值不小于你,你可与其拼点。若你赢,其本回合无法使用牌指定除其以外的角色为目标;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。',
|
||||
xinqiuyuan:'求援',
|
||||
xinqiuyuan_info:'当你成为【杀】的目标时,你可以令另一名其他角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标。',
|
||||
xin_gongsunzan:'手杀公孙瓒',
|
||||
xin_gongsunzan_prefix:'手杀',
|
||||
re_dengai:'手杀邓艾',
|
||||
re_dengai_prefix:'手杀',
|
||||
flappybird:'飞鸟',
|
||||
flappybird_info:'出牌阶段,你可游玩一局Flappy Bird。',
|
||||
re_handang:'手杀韩当',
|
||||
re_handang_prefix:'手杀',
|
||||
nanhualaoxian:'手杀南华老仙',
|
||||
nanhualaoxian_prefix:'手杀',
|
||||
yufeng:'御风',
|
||||
yufeng2:'御风',
|
||||
yufeng_info:'出牌阶段限一次,你可以表演“御风飞行”。若表演失败,则你摸X张牌。若表演成功,则你可以选择至多X名其他角色获得“御风”效果,然后摸X-Y张牌(准备阶段开始时,你进行判定。若结果为:红色,你跳过摸牌阶段;黑色,你跳过出牌阶段和弃牌阶段。X为你的得分。Y为你选择的角色数)。',
|
||||
tianshu:'天书',
|
||||
tianshu_info:'出牌阶段开始时,若场上没有【太平要术】,则你可以弃置一张牌并选择一名角色。该角色获得并使用【太平要术】。',
|
||||
re_jiangwei:'手杀姜维',
|
||||
re_jiangwei_prefix:'手杀',
|
||||
retiaoxin:'挑衅',
|
||||
retiaoxin_info:'出牌阶段限一次,你可以指定一名有牌的其他角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。',
|
||||
re_zhurong:'手杀祝融',
|
||||
re_zhurong_prefix:'手杀',
|
||||
relieren:'烈刃',
|
||||
relieren_info:'当你使用【杀】指定目标后,你可以和目标角色进行拼点。若你赢,你获得其一张牌。若你没赢,你获得对方的拼点牌,其获得你的拼点牌。',
|
||||
zhouqun:'周群',
|
||||
|
@ -14514,35 +14559,43 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tiansuan2_3:'命运签',
|
||||
tiansuan2_4:'命运签',
|
||||
ol_yujin:'手杀于禁',
|
||||
ol_yujin_prefix:'手杀',
|
||||
rejieyue:'节钺',
|
||||
rejieyue_info:'结束阶段开始时,你可以将一张牌交给一名其他角色。然后其选择一项:令你摸三张牌:或其保留一张手牌和装备区的牌,然后弃置其余的牌。',
|
||||
xin_zhoucang:'手杀周仓',
|
||||
xin_zhoucang_prefix:'手杀',
|
||||
mobilezhongyong:'忠勇',
|
||||
mobilezhongyong_info:'当你于出牌阶段内使用的【杀】结算结束后,若没有目标角色使用【闪】响应过此【杀】,则你可获得此【杀】;否则你可选择一项:①获得目标角色使用的【闪】,然后可将此【杀】交给另一名其他角色。②将目标角色使用的【闪】交给另一名其他角色,然后你本回合使用【杀】的次数上限+1且下一张【杀】的伤害值基数+1。(你不能使用本回合因执行〖忠勇〗的效果得到的牌)',
|
||||
xin_caifuren:'手杀蔡夫人',
|
||||
xin_caifuren_prefix:'手杀',
|
||||
xinqieting:'窃听',
|
||||
xinqieting_info:'其他角色的回合结束时,若其本回合内未对其他角色造成过伤害,则你可选择一项:①摸一张牌。②观看其两张手牌并获得其中的一张。③将其装备区内的一张牌移动至你的装备区。',
|
||||
xinguixiu:'闺秀',
|
||||
xinguixiu_info:'锁定技。结束阶段,若你的体力值为:奇数,你摸一张牌;偶数,你回复1点体力。',
|
||||
re_zhonghui:'手杀钟会',
|
||||
re_zhonghui_prefix:'手杀',
|
||||
requanji:'权计',
|
||||
requanji_info:'出牌阶段结束时,若你的手牌数大于体力值,或当你受到1点伤害后,你可以摸一张牌,然后将一张手牌置于武将牌上,称为“权”;你的手牌上限+X(X为“权”的数量)。',
|
||||
xin_guyong:'手杀顾雍',
|
||||
xin_guyong_prefix:'手杀',
|
||||
xinshenxing:'慎行',
|
||||
xinshenxing_info:'出牌阶段限X次(X为你的体力值),你可以弃置两张牌,然后摸一张牌。若这两张牌颜色不同,则改为摸两张牌。',
|
||||
xinbingyi:'秉壹',
|
||||
xinbingyi_info:'结束阶段,你可展示所有手牌。若这些牌的颜色或类型均相同,则你可以令至多X名角色各摸一张牌(X为你的手牌数)。',
|
||||
qiaozhou:'手杀谯周',
|
||||
qiaozhou_prefix:'手杀',
|
||||
zhiming:'知命',
|
||||
zhiming_info:'准备阶段开始时或弃牌阶段结束时,你摸一张牌,然后可以将一张牌置于牌堆顶。',
|
||||
xingbu:'星卜',
|
||||
xingbu_info:'结束阶段,你可以展示牌堆顶的三张牌,然后你可以根据X值(X为这三张牌中红色牌的数量),令一名其他角色获得对应的效果直到其下回合结束:①三张:其摸牌阶段多摸两张牌,使用【杀】的次数上限+1。②两张:其使用【杀】的次数上限-1,跳过弃牌阶段。③小于两张:其于准备阶段开始时弃置一张手牌。',
|
||||
xin_sunluban:'手杀孙鲁班',
|
||||
xin_sunluban_prefix:'手杀',
|
||||
xinzenhui:'谮毁',
|
||||
xinzenhui_info:'出牌阶段限一次。当你使用【杀】或黑色普通锦囊牌指定目标时,你可选择另一名能成为此牌目标的其他角色并选择一项:①令其也成为此牌的目标。②获得其一张牌,然后将此牌的使用者改为该角色。',
|
||||
xinjiaojin:'骄矜',
|
||||
xinjiaojin_info:'当你受到男性角色造成的伤害时,你可以弃置一张装备牌并防止此伤害。',
|
||||
xin_caozhen:'手杀曹真',
|
||||
xin_caozhen_prefix:'手杀',
|
||||
discretesidi:'司敌',
|
||||
discretesidi_info:'①当你使用的不为延时锦囊牌的牌结算结束后,你可选择一名R内不存在以a为第一序偶的二元序偶的其他角色a,并选择一名角色b,在关系R内建立二元序偶<a,b>(b对其他角色不可见)。②一名角色a使用不为延时锦囊牌的牌指定b为目标时,若(aRb)∧(此牌目标数为1)为真,则{你从R内移除<a,b>,且:若b为你,你摸一张牌;若b不为你,你可选择:⒈取消此牌的目标,然后若场上没有处于濒死状态的角色,则你对a造成1点伤害。⒉摸两张牌};否则{你清除R内以a为第一元素的二元序偶}。',
|
||||
fuqian:'傅佥',
|
||||
|
@ -14570,6 +14623,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
bihuo:'避祸',
|
||||
bihuo_info:'限定技。一名角色脱离濒死状态时,你可以令其摸三张牌,然后其他角色计算至其的距离时+X直到本轮结束(X为角色数)。',
|
||||
sunhanhua:'手杀孙寒华',
|
||||
sunhanhua_prefix:'手杀',
|
||||
chongxu:'冲虚',
|
||||
chongxu_info:'出牌阶段限一次,你可以随机演奏一首音乐,并根据完成度来获得相应的分数(至多五分)。然后你可修改〖妙剑〗或〖莲华〗(消耗3分),并使用剩余的分数进行摸牌(每张2分)。',
|
||||
chongxu_faq:'目前的曲库',
|
||||
|
@ -14587,10 +14641,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shhlianhua2:'莲华·极',
|
||||
shhlianhua2_info:'当你成为【杀】的目标后,你摸一张牌。然后此【杀】的使用者选择一项:①弃置一张牌。②令此【杀】对你无效。',
|
||||
re_yufan:'手杀虞翻',
|
||||
re_yufan_prefix:'手杀',
|
||||
rezongxuan:'纵玄',
|
||||
rezongxuan_place:'纵玄',
|
||||
rezongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可以将其以任意顺序置于牌堆顶。出牌阶段限一次,你可以摸一张牌,然后将一张牌置于牌堆顶。',
|
||||
yj_huangzhong:'☆黄忠',
|
||||
yj_huangzhong_prefix:'☆',
|
||||
spshidi:'势敌',
|
||||
spshidi_info:'转换技,锁定技。①准备阶段/结束阶段开始时,若你发动此分支的累计次数为奇数/偶数,则你获得一个“☯”。②若你的“☯”数为偶数,则你至其他角色的距离-1,且你使用的黑色【杀】不可被响应。③若你的“☯”数为奇数,则其他角色至你的距离+1,且你不可响应红色【杀】。',
|
||||
spyishi:'义释',
|
||||
|
@ -14603,22 +14659,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yingfeng:'迎奉',
|
||||
yingfeng_info:'准备阶段,你可以令一名角色获得“奉”标记并移除场上所有其他的“奉”标记。有“奉”标记的角色使用牌没有距离限制。',
|
||||
xin_sunxiu:'手杀孙休',
|
||||
xin_sunxiu_prefix:'手杀',
|
||||
mobileyanzhu:'宴诛',
|
||||
mobileyanzhu_info:'出牌阶段限一次,你可以令一名有牌的其他角色选择一项:①你获得其装备区里所有的牌,然后你失去技能〖宴诛〗。②你获得其一张牌。',
|
||||
mobilexingxue:'兴学',
|
||||
mobilexingxue_info:'结束阶段开始时,你可以令至多X名角色依次摸一张牌并将一张牌置于牌堆顶(X为你的体力值,若你未拥有〖宴诛〗,则将X改为你的体力上限,且其可以改为将一张牌交给一名其他目标角色)。',
|
||||
re_wuguotai:'手杀吴国太',
|
||||
re_wuguotai_prefix:'手杀',
|
||||
reganlu:'甘露',
|
||||
reganlu_info:'出牌阶段限一次,你可以选择装备区牌数之差的绝对值不大于X的两名角色或包含你在内的两名角色,然后交换这两名角色装备区内的牌。(X为你已损失的体力值)',
|
||||
taoqian:'手杀陶谦',
|
||||
taoqian_prefix:'手杀',
|
||||
miheng:'手杀祢衡',
|
||||
miheng_prefix:'手杀',
|
||||
re_gaoshun:'手杀高顺',
|
||||
re_gaoshun_prefix:'手杀',
|
||||
peixiu:'裴秀',
|
||||
xingtu:'行图',
|
||||
xingtu_info:'锁定技。①当你使用有点数的牌结算结束后,你将此牌点数记录为X。②当你使用牌时,若X÷Y的余数为0,则你摸一张牌(Y为此牌的点数)。③你使用Y÷X的余数为0的牌无次数限制(Y为此牌的点数)。',
|
||||
juezhi:'爵制',
|
||||
juezhi_info:'出牌阶段,你可以弃置至少两张牌,然后从牌堆中获得一张点数为X的牌(X为这些牌的点数和除以13后的余数,且当余数为0时X为13)。',
|
||||
sp_jianggan:'手杀蒋干',
|
||||
sp_jianggan_prefix:'手杀',
|
||||
spdaoshu:'盗书',
|
||||
spdaoshu_info:'每轮限一次。一名敌方角色的出牌阶段开始时,若其有手牌,则你可以令其视为使用一张【酒】。其须声明一个基本牌的牌名,然后你判断其手牌区内是否有该牌名的牌。若你判断正确,则你获得其两张手牌。',
|
||||
spdaoshu_info_identity:'每轮限一次。一名其他角色的出牌阶段开始时,若其有手牌,则你可以令其视为使用一张【酒】。其须声明一个基本牌的牌名,然后你判断其手牌区内是否有该牌名的牌。若你判断正确,则你获得其两张手牌。',
|
||||
|
@ -14627,16 +14689,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
spdaizui2:'戴罪',
|
||||
spdaizui_info:'限定技。当你受到伤害值不小于体力值的伤害时,你可防止此伤害并将此伤害渠道对应的所有实体牌置于伤害来源的武将牌上,称为“释”。本回合结束时,其获得所有“释”。',
|
||||
re_caiwenji:'手杀蔡琰',
|
||||
re_caiwenji_prefix:'手杀',
|
||||
re_bulianshi:'手杀步练师',
|
||||
re_bulianshi_prefix:'手杀',
|
||||
reanxu:'安恤',
|
||||
reanxu_info:'出牌阶段限一次,你可以选择两名其他角色,令其中一名角色获得另一名角色的一张牌。若以此法移动的牌不来自装备区,则你摸一张牌。然后你可以令二者中手牌数较少的一名角色摸一张牌。',
|
||||
xin_jushou:'手杀沮授',
|
||||
xin_jushou_prefix:'手杀',
|
||||
xinjianying:'渐营',
|
||||
xinjianying_info:'①当你于出牌阶段内使用与此阶段你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。②出牌阶段限一次,你可以将一张牌当做任意基本牌使用(不计入次数限制)。若你于此阶段内使用的上一张牌有花色,则此牌的花色视为上一张牌的花色。',
|
||||
re_xunyu:"手杀荀彧",
|
||||
re_xunyu:'手杀荀彧',
|
||||
re_xunyu_prefix:'手杀',
|
||||
rejieming:"节命",
|
||||
rejieming_info:"当你受到1点伤害后,你可以令一名角色摸两张牌。然后若其手牌数小于体力上限,则你摸一张牌。",
|
||||
xin_quancong:'手杀全琮',
|
||||
xin_quancong_prefix:'手杀',
|
||||
sbyaoming:'邀名',
|
||||
sbyaoming_info:'蓄力技(2/4)。①当你受到1点伤害后,你可以获得1点蓄力值。②出牌阶段或当你受到伤害后,你可消耗1点蓄力值并选择一项:⒈弃置一名手牌数不小于你的角色的一张牌。⒉令一名手牌数不大于你的角色摸一张牌。若你上次发动〖邀名②〗时未获得过蓄力值且你选择的选项和上次不同,则你获得1点蓄力值。',
|
||||
ruanhui:'阮慧',
|
||||
|
@ -14645,15 +14712,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jingzhong:'敬重',
|
||||
jingzhong_info:'弃牌阶段结束时,若你于本阶段内弃置过至少两张黑色牌,则你可以选择一名其他角色并获得如下效果直到其回合结束:每阶段限三次,其于出牌阶段内使用的牌结算结束后,你获得此牌对应的实体牌。',
|
||||
xin_mamidi:'手杀马日磾',
|
||||
xin_mamidi_prefix:'手杀',
|
||||
chengye:'承业',
|
||||
chengye_info:'锁定技。①其他角色使用的非转化牌结算结束后,或其他角色的装备牌和延时锦囊牌进入弃牌堆后,或有延时锦囊牌因其他角色执行判定阶段的流程而进入弃牌堆后,若你的“六经”有空缺的位置可以置入此牌,则你将此牌置于你武将牌上,填补“六经”的对应位置。②出牌阶段开始时,若你的“六经”没有空缺的位置,则你获得所有“六经”。',
|
||||
chengye_append:'<span style="font-family:yuanli"><li>《诗经》:伤害类锦囊牌<br><li>《尚书》:基本牌<br><li>《仪礼》:无懈可击<br><li>《易经》:无中生有<br><li>《乐经》:乐不思蜀<br><li>《春秋》:装备牌</span>',
|
||||
buxu:'补叙',
|
||||
buxu_backup:'补叙',
|
||||
buxu_info:'出牌阶段,若你的“六经”中有空缺的位置,则你可以弃置X+1张牌并选择一种空缺的“六经”(X为你本阶段内发动过〖补叙〗的次数)。系统从牌堆或弃牌堆中检索一张对应的牌,然后你将此牌置于你武将牌上,填补“六经”的对应位置。',
|
||||
re_dianwei:"手杀典韦",
|
||||
re_dianwei:'手杀典韦',
|
||||
re_dianwei_prefix:'手杀',
|
||||
liuye:'手杀刘晔',
|
||||
liuye_prefix:'手杀',
|
||||
sp_caosong:'手杀曹嵩',
|
||||
sp_caosong_prefix:'手杀',
|
||||
yijin:'亿金',
|
||||
yijin_info:'锁定技。①游戏开始时,你获得“膴仕”、“金迷”、“贾凶”、“通神”、“拥蔽”、“厚任”各1枚(均称为“金”)。②出牌阶段开始时,你选择一名没有“金”的其他角色。你交给其1枚“金”,且令其获得对应效果。③一名角色的回合结束后,若其有你交给其的“金”,其移去此“金”。④当你死亡时,移去场上所有你交出的“金”。⑤回合开始时,若你没有“金”,你死亡。',
|
||||
yijin_wushi:'膴仕',
|
||||
|
@ -14676,35 +14747,45 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hannan:'扞难',
|
||||
hannan_info:'出牌阶段限一次。你可以与一名角色拼点,赢的角色对没赢的角色造成2点伤害。',
|
||||
xin_wuyi:'手杀吴懿',
|
||||
xin_wuyi_prefix:'手杀',
|
||||
sbbenxi:'奔袭',
|
||||
sbbenxi_info:'出牌阶段开始时,你可以弃置至少一张牌,然后你于此阶段获得如下效果:①你至其他角色距离-X;②当你使用的下一张基本牌或普通锦囊牌A选择目标后,你可以额外指定X名距离为1的角色为目标;③牌A结算结束后,若此牌造成过伤害,你摸五张牌(X为你以此法弃置的牌数)。',
|
||||
xin_zhuzhi:'手杀朱治',
|
||||
xin_zhuzhi_prefix:'手杀',
|
||||
sbanguo:'安国',
|
||||
sbanguo_info:'①游戏开始时,你令一名其他角色获得1枚“安国”标记(有“安国”的角色手牌上限基数等于体力上限)。②出牌阶段开始时,你可以将一名有“安国”的角色的所有“安国”移动给一名本局游戏未获得过“安国”的其他角色。③当你受到伤害时,若有有“安国”的角色且伤害值不小于你的体力值且此伤害没有来源或来源没有“安国”,防止此伤害。④一名角色进入濒死状态时,若其有你因〖安国①〗获得的“安国”,你移去其该“安国”,令其将体力回复至1点。然后你选择一项:1.若你的体力值大于1,你失去体力至1点;2.若你的体力上限大于1,你将体力上限减至1。最后你令其获得X点护甲(X为你以此法失去的体力值或减少的体力上限)。',
|
||||
wangjun:'手杀王濬',
|
||||
wangjun_prefix:'手杀',
|
||||
zhujian:'筑舰',
|
||||
zhujian_info:'出牌阶段限一次。你可以令至少两名装备区里有牌的角色各摸一张牌。',
|
||||
duansuo:'断索',
|
||||
duansuo_info:'出牌阶段限一次。你可以重置任意名处于连环状态的角色,然后对这些角色各造成1点火焰伤害。',
|
||||
sp_pengyang:'手杀彭羕',
|
||||
sp_pengyang_prefix:'手杀',
|
||||
spdaming:'达命',
|
||||
spdaming_info:'①游戏开始时,你获得1点“达命”值。②其他角色A的出牌阶段限一次。其可以交给你一张牌,然后你选择另一名其他角色B。若B有与此牌相同类型的牌,其将一张该类型的牌交给A,你获得1点“达命”值;否则你将此牌交给A。',
|
||||
spxiaoni:'嚣逆',
|
||||
spxiaoni_info:'①出牌阶段限一次。若你的“达命”值大于0,你可以将一张牌当任意一种【杀】或伤害类锦囊牌使用。然后你减少等同于此牌指定目标数的“达命”值。②你的手牌上限基数为X(X为“达命”值,且至多为你的体力值,至少为0)。',
|
||||
xin_zhuhuan:'手杀朱桓',
|
||||
xin_zhuhuan_prefix:'手杀',
|
||||
xinpingkou:'平寇',
|
||||
xinpingkou_info:'回合结束时,你可以对至多X名其他角色各造成1点伤害(X为你本回合跳过的阶段数)。然后你从牌堆中获得一张装备牌。',
|
||||
xin_caoxiu:'手杀曹休',
|
||||
xin_caoxiu_prefix:'手杀',
|
||||
xinqingxi:'倾袭',
|
||||
xinqingxi_info:'每回合限一次。当你对其他角色造成伤害时,你可以令其选择一项:1.弃置X张手牌(X为4减去你至其的距离,至少为1);2.令此伤害+1。',
|
||||
yj_weiyan:'☆魏延',
|
||||
yj_weiyan_prefix:'☆',
|
||||
mbguli:'孤厉',
|
||||
mbguli_info:'出牌阶段限一次。你可以将所有手牌当做一张无视防具的【杀】使用。此牌结算结束后,若此牌造成过伤害,你可以失去1点体力并将手牌摸至X张(X为你的体力上限)。',
|
||||
mbaosi:'骜肆',
|
||||
mbaosi_info:'锁定技。当你于出牌阶段对一名攻击范围内的角色造成伤害后,你于此阶段对其使用牌无次数限制。',
|
||||
xin_zhoutai:'手杀周泰',
|
||||
re_yanwen:"手杀颜良文丑",
|
||||
xin_zhoutai_prefix:'手杀',
|
||||
re_yanwen:'手杀颜良文丑',
|
||||
re_yanwen_prefix:'手杀',
|
||||
qianzhao:'手杀牵招',
|
||||
qianzhao_prefix:'手杀',
|
||||
mbshihe:'势吓',
|
||||
mbshihe_info_identity:'出牌阶段限一次。你可以与一名角色拼点。若你:赢,当其于其下回合结束前对你造成伤害时,取消之;没赢,你随机弃置一张牌。',
|
||||
mbshihe_info:'出牌阶段限一次。你可以与一名角色拼点。若你:赢,当其于其下回合结束前对你和你的友方角色造成伤害时,取消之;没赢,你随机弃置一张牌。',
|
||||
|
@ -14754,7 +14835,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
scsmiaoyu:'妙语',
|
||||
scsmiaoyu_info:'你可以将至多两张相同花色的牌按照以下规则使用或打出:♦牌当作火【杀】,♥牌当作【桃】,♣牌当作【闪】,♠牌当作【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌,则你弃置当前回合角色一张牌。',
|
||||
re_xiaoqiao:'手杀小乔',
|
||||
re_xiaoqiao_prefix:'手杀',
|
||||
xin_sunliang:'手杀孙亮',
|
||||
xin_sunliang_prefix:'手杀',
|
||||
xinkuizhu:'溃诛',
|
||||
xinkuizhu_info:'弃牌阶段结束后,你可以选择一项:1.令至多X名角色各摸一张牌。2.对任意名体力值之和为X的角色造成1点伤害,若你以此法选择的角色数不小于2,你失去1点体力。(X为你此阶段弃置的牌数)',
|
||||
xinzhizheng:'掣政',
|
||||
|
@ -14762,18 +14845,47 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinlijun:'立军',
|
||||
xinlijun_info:'主公技,其他吴势力角色于其回合内使用【杀】结算完毕后,其可以将此【杀】对应的实体牌交给你,然后你可以令其摸一张牌。',
|
||||
xin_zhangyi:'手杀张嶷',
|
||||
xin_zhangyi_prefix:'手杀',
|
||||
xinwurong:'怃戎',
|
||||
xinwurong_info:'出牌阶段限一次,你可以与一名其他角色进行谋弈:<br><li>若你选择“镇压”且其选择“反抗”,你对其造成1点伤害,然后你摸一张牌。<br><li>若你选择“安抚”且其选择“归顺”,其须交给你两张牌(若其手牌数不足两张,则改为令其跳过其下个摸牌阶段)。<br><li>若你选择“镇压”且其选择“归顺”,你获得其一张牌,然后你交给其两张牌。<br><li>若你选择“安抚”且其选择“反抗”,你受到1点伤害,然后你摸两张牌。',
|
||||
xin_guozhao:'手杀郭照',
|
||||
xin_guozhao_prefix:'手杀',
|
||||
yichong:'易宠',
|
||||
yichong_info:'①准备阶段,你可以选择一名其他角色并选择一个花色,然后你获得其所有此花色的牌,移除场上的所有“雀”标记,令其获得“雀”标记直到你的下个回合开始。②拥有“雀”标记的角色获得你最后一次发动〖易宠①〗选择的花色的牌后,你获得这些牌(你至多通过每个“雀”得到五张牌)。',
|
||||
wufei:'诬诽',
|
||||
wufei_info:'若场上存在拥有“雀”标记的角色A,则:①当你使用【杀】或伤害类锦囊牌指定第一个目标后,你令A成为此牌伤害来源。②当你受到伤害后,若A的体力值大于1且A的体力值大于你,则你可以对A造成1点伤害。',
|
||||
yj_zhoubuyi:'☆周不疑',
|
||||
yj_zhoubuyi_prefix:'☆',
|
||||
mbhuiyao:'慧夭',
|
||||
mbhuiyao_info:'出牌阶段限一次。你可以受到1点无来源伤害,视为对一名其他角色造成过1点伤害。',
|
||||
mbquesong:'雀颂',
|
||||
mbquesong_info:'一名角色的结束阶段,若你于本回合受到过伤害,你可以令一名角色选择一项:1.摸等同于其装备区中空栏的数量的牌并复原武将牌;2.弃置等同于其体力值的手牌并回复1点体力。',
|
||||
xin_yuanshao:'手杀袁绍',
|
||||
xin_yuanshao_prefix:'手杀',
|
||||
re_baosanniang:'手杀鲍三娘',
|
||||
re_baosanniang_prefix:'手杀',
|
||||
re_liushan:'手杀刘禅',
|
||||
re_liushan_prefix:'手杀',
|
||||
re_sunben:'界孙笨',
|
||||
re_sunben_prefix:'界',
|
||||
re_zhangzhang:'手杀张昭张纮',
|
||||
re_zhangzhang_prefix:'手杀',
|
||||
re_caozhi:'手杀曹植',
|
||||
re_caozhi_prefix:'手杀',
|
||||
re_sunjian:'手杀孙坚',
|
||||
re_sunjian_prefix:'手杀',
|
||||
sunru:'手杀孙茹',
|
||||
sunru_prefix:'手杀',
|
||||
pangdegong:"手杀庞德公",
|
||||
pangdegong_prefix:'手杀',
|
||||
zhaotongzhaoguang:"手杀赵统赵广",
|
||||
zhaotongzhaoguang_prefix:'手杀',
|
||||
re_liru:'手杀李儒',
|
||||
re_liru_prefix:'李儒',
|
||||
re_chenqun:'手杀陈群',
|
||||
re_chenqun_prefix:'手杀',
|
||||
old_yuanshu:'手杀袁术',
|
||||
old_yuanshu_prefix:'手杀',
|
||||
|
||||
mobile_standard:'手杀异构·标准包',
|
||||
mobile_shenhua_feng:'手杀异构·其疾如风',
|
||||
|
@ -14789,6 +14901,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mobile_yijiang5:'手杀异构·将5',
|
||||
mobile_yijiang67:'手杀异构·原创设计',
|
||||
mobile_sp:'手杀异构·SP',
|
||||
mobile_default:'袖里乾坤',
|
||||
mobile_others:'其他',
|
||||
mobile_changshi:'十常侍单体',
|
||||
}
|
||||
};
|
||||
|
|
|
@ -3,10 +3,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return {
|
||||
name:'offline',
|
||||
connect:true,
|
||||
connectBanned:['zhangliang'],
|
||||
characterSort:{
|
||||
offline:{
|
||||
offline_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"],
|
||||
offline_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei","old_machao","zhangliang","jsp_caoren"],
|
||||
offline_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'],
|
||||
offline_yijiang:['ol_xinxianying'],
|
||||
offline_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
|
||||
offline_yongjian:["ns_chendao","yj_caoang","yj_caocao",'yj_liru','yj_caohong','yj_zhangfei','yongjian_ganning','yj_dongzhuo','yj_xuyou','yj_jiaxu','yj_zhenji'],
|
||||
offline_piracyE:['shen_jiaxu','pe_wangyun','pe_zhonghui','pe_sunchen','pe_mengda','pe_wenqin','ns_caoanmin','jiangfei','chendong','jiangqing','kongrong','jiling','tianfeng','mateng'],
|
||||
|
@ -17,6 +19,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
character:{
|
||||
ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']],
|
||||
zhangliang:["male","qun",4,["old_jijun","old_fangtong"]],
|
||||
jsp_caoren:['male','wei',4,['kuiwei','yanzheng']],
|
||||
old_machao:['male','qun',4,['zhuiji','oldcihuai']],
|
||||
vtb_xiaosha:['female','qun',4,['vtbguisha','vtbshuli']],
|
||||
vtb_xiaoshan:['female','qun',4,['vtbshanwu','vtbxianli']],
|
||||
vtb_xiaotao:['female','qun',4,['vtbtaoyan','vtbyanli']],
|
||||
|
@ -934,7 +940,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
if(!player.hasEmptySlot(2)) return false;
|
||||
if(event.card.name!='sha') return false;
|
||||
return event.card.hasNature();
|
||||
return game.hasNature(event.card);
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
|
@ -2027,7 +2033,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
prompt:function(event){
|
||||
var player=_status.event.player;
|
||||
return '将一张'+get.translation(player.storage.pshuxiao_use.suit)+'牌或点数为'+get.strNumber(player.storage.pshuxiao_use.number)+'的牌当作'+(player.storage.pshuxiao_use.card)+'使用';
|
||||
return '将一张'+get.translation(player.storage.pshuxiao_use.suit)+'牌或点数为'+get.strNumber(player.storage.pshuxiao_use.number)+'的牌当作'+get.translation(player.storage.pshuxiao_use.card)+'使用';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2317,7 +2323,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.updateRoundNumber();
|
||||
}
|
||||
},
|
||||
//官盗S1066☆贾诩
|
||||
//官盗S1066★贾诩
|
||||
psqupo:{
|
||||
audio:2,
|
||||
trigger:{global:'phaseBegin'},
|
||||
|
@ -6228,7 +6234,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fulu:{
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
},
|
||||
audio:true,
|
||||
check:function(event,player){
|
||||
|
@ -6287,10 +6293,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
sp_gongsunzan:'SP公孙瓒',
|
||||
sp_gongsunzan_prefix:'SP',
|
||||
sp_simazhao:'SP司马昭',
|
||||
sp_simazhao_prefix:'SP',
|
||||
sp_wangyuanji:'SP王元姬',
|
||||
sp_wangyuanji_prefix:'SP',
|
||||
sp_xinxianying:'SP辛宪英',
|
||||
sp_xinxianying_prefix:'SP',
|
||||
sp_liuxie:'SP刘协',
|
||||
sp_liuxie_prefix:'SP',
|
||||
spyicong_info:'弃牌阶段结束时,你可以将任意张牌置于你的武将牌上,称为「扈」。每有一张「扈」,其他角色与你计算距离时便+1。',
|
||||
spyicong:'义从',
|
||||
sptuji:'突骑',
|
||||
|
@ -6313,17 +6324,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
spmingjian_info:'一名角色的回合开始时,你可以选择一项:①弃置一张牌,然后其跳过本回合的判定阶段。②将一张手牌置于其武将牌上,然后其本回合内进行判定时不触发「判定结果生效前」的时机,且其回合结束时将此牌置入弃牌堆。',
|
||||
spyinzhi:'隐智',
|
||||
spyinzhi_info:'当你受到1点伤害后,你可以展示牌堆顶的两张牌。若其中有黑桃牌,则你可以进行至多X次「令一名角色获得伤害来源的一张手牌」的步骤。然后获得其余的牌。(X为其中黑桃牌的数量)',
|
||||
yj_caoang:'SP曹昂',
|
||||
yj_caoang:'用间曹昂',
|
||||
yj_caoang_prefix:'用间',
|
||||
yjxuepin:'血拼',
|
||||
yjxuepin_info:'出牌阶段限一次,你可以选择攻击范围内的一名角色并失去1点体力。你弃置其两张牌。若这两张牌类型相同,你回复1点体力。',
|
||||
ns_chendao:'SP陈到',
|
||||
ns_chendao:'用间陈到',
|
||||
ns_chendao_prefix:'用间',
|
||||
nsjianglie:'将烈',
|
||||
nsjianglie_info:'当你使用【杀】指定目标后,你可以令其展示所有手牌,然后弃置其中一种颜色的牌。',
|
||||
ns_jiaxu:'☆贾诩',
|
||||
ns_jiaxu:'★贾诩',
|
||||
ns_jiaxu_prefix:'★',
|
||||
nsyice:'遗策',
|
||||
nsyice_info:'锁定技,当你使用/打出/弃置的牌进入弃牌堆后,你将这些牌以任意顺序置于你的武将牌上,称为“策”。若这些“策”中有点数相同的牌,则你获得这两张牌中的所有牌,将这两张牌置于牌堆两端。若场上没有处于濒死状态的角色,则你对一名角色造成1点伤害。',
|
||||
ns_lijue:'SP李傕',
|
||||
ns_lijue_prefix:'SP',
|
||||
ns_zhangji:'SP张济',
|
||||
ns_zhangji_prefix:'SP',
|
||||
nsfeixiong:'飞熊',
|
||||
nsfeixiong_info:'出牌阶段开始时,你可以和一名其他角色拼点。赢的角色对没赢的角色造成1点伤害。',
|
||||
nscesuan:'策算',
|
||||
|
@ -6331,22 +6347,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
nslulve:'掳掠',
|
||||
nslulve_info:'出牌阶段限一次,你可以弃置X张牌并选择一名装备区内有牌的其他角色,然后对其造成1点伤害(X为其装备区内的牌数)。',
|
||||
ns_fanchou:'SP樊稠',
|
||||
ns_fanchou_prefix:'SP',
|
||||
nsyangwu:'扬武',
|
||||
nsyangwu_info:'出牌阶段限一次,你可以弃置一张♥手牌并选择一名手牌数大于你的其他角色。你观看其手牌并获得其中的X张牌(X为其与你手牌数之差的一半且向上取整)。',
|
||||
jsp_liubei:'群刘备',
|
||||
jsp_liubei_ab:'刘备',
|
||||
jsp_liubei:'★刘备',
|
||||
jsp_liubei_prefix:'★',
|
||||
jsprende:'仁德',
|
||||
jsprende_info:'出牌阶段,你可以将至少一张手牌交给其他角色;若你于此阶段内给出的牌首次达到两张,你可以视为使用一张基本牌。',
|
||||
ns_caoanmin:'曹安民',
|
||||
ns_caoanmin:'战役篇曹安民',
|
||||
ns_caoanmin_prefix:'战役篇',
|
||||
nskuishe:'窥舍',
|
||||
nskuishe_info:'出牌阶段限一次,你可以选择一名其他角色A的一张牌,并将此牌交给不为A的一名角色。然后A可以对你使用一张【杀】。',
|
||||
sp_xiahoushi:"SP夏侯氏",
|
||||
sp_xiahoushi_prefix:'SP',
|
||||
xinfu_yanyu:"燕语",
|
||||
xinfu_yanyu_info:"一名角色的出牌阶段开始时,你可以弃置一张牌。若如此做,则该出牌阶段内限三次,当一张与你弃置的牌类别相同的其他牌进入弃牌堆后,你可令任意一名角色获得此牌。",
|
||||
xinfu_yanyu2:"燕语",
|
||||
xinfu_xiaode:"孝德",
|
||||
xinfu_xiaode_info:"其他角色死亡后,你可以声明该角色武将牌上的一个技能(主公技、觉醒技、隐匿技、使命技除外)。若如此做,你获得此技能且不能再发动〖孝德〗直到你的回合结束。",
|
||||
jsp_zhaoyun:'☆SP赵云',
|
||||
jsp_zhaoyun:'★SP赵云',
|
||||
jsp_zhaoyun_prefix:'★SP',
|
||||
chixin:'赤心',
|
||||
chixin1:'赤心',
|
||||
chixin2:'赤心',
|
||||
|
@ -6359,6 +6379,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fuji:'助祭',
|
||||
fuji_info:'当一名角色造成雷属性伤害时,你可以令其进行判定,若结果为黑色,此伤害+1;若结果为红色,该角色获得判定牌。',
|
||||
sp_pangtong:'SP庞统',
|
||||
sp_pangtong_prefix:'SP',
|
||||
manjuan:'漫卷',
|
||||
manjuan_info:'其他角色的牌因弃置而进入弃牌堆后,你可以弃置一张花色与之不同的牌,然后获得此牌。',
|
||||
xinmanjuan:'漫卷',
|
||||
|
@ -6366,40 +6387,46 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zuixiang:'醉乡',
|
||||
zuixiang2:'醉乡',
|
||||
zuixiang_info:'限定技,准备阶段开始时,你可以展示牌堆顶的3张牌并置于你的武将牌上。你不能使用或打出与该些牌同类的牌,所有同类牌对你无效。之后的每个准备阶段,你须重复展示一次,直到这些牌中任意两张点数相同。然后,你获得这些牌。',
|
||||
sp_daqiao:'☆SP大乔',
|
||||
sp_daqiao:'★SP大乔',
|
||||
sp_daqiao_prefix:'★SP',
|
||||
yanxiao:'言笑',
|
||||
yanxiao_info:'出牌阶段,你可以将一张♦牌置于一名角色的判定区内。判定区内有〖言笑〗牌的角色下个判定阶段开始时,其获得判定区里的所有牌。',
|
||||
anxian:'安娴',
|
||||
anxian_info:'当你使用【杀】对目标角色造成伤害时,你可以防止此伤害,令其弃置一张手牌,然后你摸一张牌;当你成为【杀】的目标后,你可以弃置一张手牌,令此【杀】对你无效,然后此【杀】的使用者摸一张牌。',
|
||||
sp_ganning:'☆SP甘宁',
|
||||
sp_ganning:'★SP甘宁',
|
||||
sp_ganning_prefix:'★SP',
|
||||
yinling:'银铃',
|
||||
yinling_bg:'锦',
|
||||
yinling_info:'出牌阶段,若你的“锦”小于四张,你可以弃置一张黑色牌并指定一名其他角色。若如此做,你将其的一张牌置于你的武将牌上,称为“锦”。',
|
||||
junwei:'军威',
|
||||
junwei2:'军威',
|
||||
junwei_info:'结束阶段开始时,你可以移去三张“锦”。若如此做,你须指定一名角色并令其选择一项:1.展示一张【闪】,然后你将此【闪】交给一名其他角色。2.该角色失去1点体力,然后你将其装备区内的一张牌移出游戏。该角色的回合结束后,将以此法移出游戏的装备牌移回原处。',
|
||||
sp_xiahoudun:'☆SP夏侯惇',
|
||||
sp_xiahoudun:'★SP夏侯惇',
|
||||
sp_xiahoudun_prefix:'★SP',
|
||||
fenyong:'愤勇',
|
||||
fenyong2:'愤勇',
|
||||
fenyong2_bg:'勇',
|
||||
fenyong_info:'每当你受到一次伤害后,你可以获得一枚「愤勇」标记;当你拥有「愤勇」标记时,防止你受到的所有伤害。',
|
||||
xuehen:'雪恨',
|
||||
xuehen_info:'每个角色的结束阶段开始时,若你有愤勇标记,你弃置之,然后选择一项:1.弃置当前回合角色X张牌(X为你已损失的体力值);2.视为对一名任意角色使用一张【杀】。',
|
||||
sp_lvmeng:'☆SP吕蒙',
|
||||
sp_lvmeng:'★SP吕蒙',
|
||||
sp_lvmeng_prefix:'★SP',
|
||||
tanhu:'探虎',
|
||||
tanhu2:'探虎',
|
||||
tanhu3:'探虎',
|
||||
tanhu_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,你获得以下效果直到回合结束:你与该角色的距离为1,你对该角色使用的普通锦囊牌不能被【无懈可击】响应。',
|
||||
mouduan:'谋断',
|
||||
mouduan_info:'游戏开始时,你获得标记“武”并获得技能〖激昂〗和〖谦逊〗。当你失去手牌后,若手牌数不大于2,你须将你的标记变为“文”,将这两项技能改为〖英姿〗和〖克己〗。一名角色的回合开始前,你可弃一张牌将标记翻回。',
|
||||
sp_zhangfei:'☆SP张飞',
|
||||
sp_zhangfei:'★SP张飞',
|
||||
sp_zhangfei_prefix:'★SP',
|
||||
jie:'嫉恶',
|
||||
jie_info:'锁定技,当你使用红色【杀】造成伤害时,此伤害+1。',
|
||||
dahe:'大喝',
|
||||
dahe2:'大喝',
|
||||
dahe2_bg:'喝',
|
||||
dahe_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,该角色不能使用或打出不为♥花色的【闪】直到回合结束,且你可将该角色拼点的牌交给场上一名体力不多于你的角色。若你没赢,你须展示手牌并弃置其中的一张。',
|
||||
sp_liubei:'☆SP刘备',
|
||||
sp_liubei:'★SP刘备',
|
||||
sp_liubei_prefix:'★SP',
|
||||
zhaolie:'昭烈',
|
||||
zhaolie_info:'摸牌阶段摸牌时,你可以少摸一张牌并指定攻击范围内的一名角色。你展示牌堆顶的三张牌,将其中的非基本牌和【桃】置于弃牌堆,然后该角色选择一项:1.你对其造成X点伤害,然后其获得这些基本牌;2.其弃置X张牌,然后你获得这些基本牌。(X为其中非基本牌的数量)',
|
||||
shichou:'誓仇',
|
||||
|
@ -6411,7 +6438,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhenjue:'阵绝',
|
||||
zhenjue_info:'一名角色的结束阶段开始时,若你没有手牌,则你可以令其选择一项:①弃置一张牌。②令你摸一张牌。',
|
||||
//用间
|
||||
yj_caocao:'SP曹操',
|
||||
yj_caocao:'用间曹操',
|
||||
yj_caocao_prefix:'用间',
|
||||
yjxiandao:'献刀',
|
||||
yjxiandao_info:'每回合限一次。当你赠予其他角色一张牌后,你令其不能使用或打出与本次赠予移动的牌A花色相同的牌直到回合结束。然后若牌A:为锦囊牌,你摸两张牌。为装备牌,你获得其一张不为A的牌。为武器牌,你对其造成1点伤害。',
|
||||
yjsancai:'散财',
|
||||
|
@ -6419,20 +6447,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yjyibing:'义兵',
|
||||
yjyibing_info:'当你不因赠予且不因〖义兵〗的嵌套结算而于摸牌阶段外得到牌时,你可以将此次得到的所有牌当做【杀】使用(无距离限制且不计入使用次数)。',
|
||||
yj_caohong:'用间曹洪',
|
||||
yj_caohong_ab:'曹洪',
|
||||
yj_caohong_prefix:'用间',
|
||||
yjlifeng:'厉锋',
|
||||
yjlifeng_info:'①出牌阶段限一次。你可以获得弃牌堆里的一张装备牌。②你发动〖赠予〗可以选择手牌区里的装备牌或装备区里的牌。',
|
||||
yj_zhangfei:'用间张飞',
|
||||
yj_zhangfei_ab:'张飞',
|
||||
yj_zhangfei_prefix:'用间',
|
||||
yjmangji:'莽击',
|
||||
yjmangji_info:'锁定技。当你装备区里的牌数或体力值变化后,若你的体力值不小于1,你弃置一张手牌并视为使用一张【杀】。',
|
||||
yongjian_ganning:'用间甘宁',
|
||||
yongjian_ganning_ab:'甘宁',
|
||||
yongjian_ganning_prefix:'用间',
|
||||
yjjielve:'劫掠',
|
||||
yjjielve_info:'你可以将两张颜色相同的牌当【趁火打劫】使用,若你以此法造成伤害,此技能于本回合失效。',
|
||||
//什么?孙鲁班?谁会做这种离谱的东西
|
||||
yj_dongzhuo:'用间董卓',
|
||||
yj_dongzhuo_ab:'董卓',
|
||||
yj_dongzhuo_prefix:'用间',
|
||||
yjtuicheng:'推诚',
|
||||
yjtuicheng_info:'你可以失去1点体力并视为使用一张【推心置腹】。',
|
||||
yjyaoling:'耀令',
|
||||
|
@ -6442,7 +6470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yjyongquan:'拥权',
|
||||
yjyongquan_info:'主公技。结束阶段,其他群势力角色依次可以交给你一张牌。',
|
||||
yj_liru:'用间李儒',
|
||||
yj_liru_ab:'李儒',
|
||||
yj_liru_prefix:'用间',
|
||||
yjdumou:'毒谋',
|
||||
yjdumou_info:'锁定技。你的回合内,其他角色的黑色手牌均视为【毒】,你的【毒】均视为【过河拆桥】。',
|
||||
yjweiquan:'威权',
|
||||
|
@ -6450,7 +6478,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yjrenwang:'人望',
|
||||
yjrenwang_info:'出牌阶段限一次。你可以选择弃牌堆中的一张黑色基本牌,令一名角色获得之。',
|
||||
yj_xuyou:'用间许攸',
|
||||
yj_xuyou_ab:'许攸',
|
||||
yj_xuyou_prefix:'用间',
|
||||
yjshicai:'恃才',
|
||||
yjshicai_info:'①回合内,牌堆顶的一张牌对你可见。②出牌阶段限一次。你可以弃置一张牌,展示并获得牌堆顶的一张牌。当此牌离开你的手牌区后,重置〖恃才②〗。',
|
||||
yjchenggong:'逞功',
|
||||
|
@ -6458,7 +6486,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yjzezhu:'择主',
|
||||
yjzezhu_info:'出牌阶段限一次。你可以获得主公区域内的一张牌,然后交给其一张牌。',
|
||||
yj_jiaxu:'用间贾诩',
|
||||
yj_jiaxu_ab:'贾诩',
|
||||
yj_jiaxu_prefix:'用间',
|
||||
yjzhenlve:'缜略',
|
||||
yjzhenlve_info:'锁定技。①你使用的普通锦囊牌不能被响应。②你不能成为延时锦囊牌的目标。',
|
||||
yjjianshu:'间书',
|
||||
|
@ -6466,45 +6494,46 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yjyongdi:'拥嫡',
|
||||
yjyongdi_info:'限定技。准备阶段,你可以令一名男性角色加1点体力上限并回复1点体力,然后若其武将牌上有主公技且其不为主公,其获得此主公技。',
|
||||
yj_zhugedan:'用间诸葛诞',
|
||||
yj_zhugedan_ab:'诸葛诞',
|
||||
yj_zhugedan_prefix:'用间',
|
||||
yj_zhenji:'用间甄宓',
|
||||
yj_zhenji_ab:'甄宓',
|
||||
yj_zhenji_prefix:'用间',
|
||||
yjluoshen:'洛神',
|
||||
yjluoshen_info:'准备阶段,你可以判定并获得判定牌,且可重复此流程直到结果的颜色不同。',
|
||||
//线下E系列 一战成名 战役篇官盗
|
||||
shen_jiaxu:'神贾诩',
|
||||
shen_jiaxu_prefix:'神',
|
||||
zybishi:'避世',
|
||||
zybishi_info:'当你成为【杀】的目标后,你可以令使用者摸一张牌,然后令此【杀】无效。',
|
||||
zyjianbing:'谏兵',
|
||||
zyjianbing_info:'当一名其他角色受到执行【杀】的效果而受到伤害时,你可以获得其一张牌。若此牌花色为♥,其回复1点体力。',
|
||||
pe_wangyun:'战役篇王允',
|
||||
pe_wangyun_ab:'王允',
|
||||
pe_wangyun_prefix:'战役篇',
|
||||
zylianji:'连计',
|
||||
zylianji_info:'出牌阶段结束时,若你于此阶段使用牌的类别数达到:1,你可以令一名角色摸一张牌;2,你可以回复1点体力;3,你可以跳过本回合剩余阶段,然后令一名其他角色执行一个仅有你于此回合未执行过的阶段的回合。',
|
||||
zymoucheng:'谋逞',
|
||||
zymoucheng_info:'每回合限一次。你可以将一张黑色牌当【借刀杀人】使用。',
|
||||
pe_zhonghui:'战役篇钟会',
|
||||
pe_zhonghui_ab:'钟会',
|
||||
pe_zhonghui_prefix:'战役篇',
|
||||
zyquanji:'权计',
|
||||
zyquanji_info:'①当你受到伤害后或使用牌对唯一目标造成伤害后,你可以摸一张牌并将一张牌置于武将上,称为“权”。②你的手牌上限+X(X为“权”数)。',
|
||||
zypaiyi:'排异',
|
||||
zypaiyi_backup:'排异',
|
||||
zypaiyi_info:'出牌阶段限一次。你可以移去一张“权”并令一名角色摸X张牌(X为“权”数,且至多为7),然后若其手牌数大于你,你对其造成1点伤害。',
|
||||
pe_mengda:'战役篇孟达',
|
||||
pe_mengda_ab:'孟达',
|
||||
pe_mengda_prefix:'战役篇',
|
||||
qiuan:'求安',
|
||||
qiuan_info:'当你受到伤害后,若此伤害的渠道有对应的实体牌且你的武将牌上没有“函”,则你可以防止此伤害并将这些牌置于你的武将牌上,称为“函”。',
|
||||
liangfan:'量反',
|
||||
liangfan2:'量反',
|
||||
liangfan_info:'锁定技,准备阶段开始时,若你的武将牌上有“函”,则你获得这些牌,然后失去1点体力。当你于此回合内因使用实体牌中包含“函”的牌且执行这些牌的效果而造成伤害后,你可以获得目标角色的一张牌。',
|
||||
pe_sunchen:'战役篇孙綝',
|
||||
pe_sunchen_ab:'孙綝',
|
||||
pe_sunchen_prefix:'战役篇',
|
||||
zyshilu:'嗜戮',
|
||||
zyshilu_info:'①一名角色死亡后,你可以将其武将牌置于你的武将牌上,称为“戮”,若杀死其的角色是你,你将一张武将牌堆里的牌置为“戮”。②回合开始时,你可以弃置至多X张牌,然后摸等量的牌(X为“戮”数)。',
|
||||
zyxiongnve:'凶虐',
|
||||
zyxiongnve_info:'①出牌阶段开始时,你可以将一张“戮”置入武将牌堆并选择一项直到回合结束:1.当你造成伤害时,此伤害+1;2.当你对其他角色造成伤害时,获得其一张牌;3.你使用牌无次数限制。②出牌阶段结束时,你可以将两张“戮”置入武将牌堆,然后当你于下回合开始前受到其他角色造成的伤害时,此伤害-1。',
|
||||
pe_wenqin:'战役篇文钦',
|
||||
pe_wenqin_ab:'文钦',
|
||||
pe_wenqin_prefix:'战役篇',
|
||||
gzjinfa:'矜伐',
|
||||
gzjinfa_info:'出牌阶段限一次。你可以弃置一张牌,令一名其他角色选择一项:1.令你获得其一张牌;2.交给你一张装备牌,若此牌花色为♠,其视为对你使用一张【杀】。',
|
||||
zyshangyi:'尚义',
|
||||
|
@ -6515,87 +6544,102 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gzsuishi2:'随势',
|
||||
gzsuishi_info:'锁定技,其他角色进入濒死状态时,若伤害来源与你势力相同,你摸一张牌;其他角色死亡时,若其与你势力相同,你失去1点体力。',
|
||||
//线下S系列
|
||||
ps_guanyu:'☆关羽',
|
||||
ps_guanyu:'★关羽',
|
||||
ps_guanyu_prefix:'★',
|
||||
pszhonghun:'忠魂',
|
||||
pszhonghun_info:'当你使用或打出红色牌时,你可以亮出牌堆顶的一张牌。若此牌为红色,你获得之。',
|
||||
ps2070_guojia:'☆郭嘉',
|
||||
ps2070_guojia:'★郭嘉',
|
||||
ps2070_guojia_prefix:'★',
|
||||
psquanmou:'全谋',
|
||||
psquanmou_info:'当其他角色使用锦囊牌结算结束后,若你是此牌目标,你可以弃置一张与此牌颜色相同的手牌并获得之。',
|
||||
ps1059_guojia:'☆郭嘉',
|
||||
ps1059_guojia:'★郭嘉',
|
||||
ps1059_guojia_prefix:'★',
|
||||
psqizuo:'奇佐',
|
||||
psqizuo_info:'当你攻击范围内的角色造成或受到伤害时,你可以弃置一张牌并判定,若此牌颜色与结果相同,你可以令此伤害+1或-1。',
|
||||
ps2063_zhaoyun:'☆赵云',
|
||||
ps2063_zhaoyun:'★赵云',
|
||||
ps2063_zhaoyun_prefix:'★',
|
||||
psqijin:'七进',
|
||||
psqijin_info:'摸牌阶段,你可以改为亮出牌堆顶的七张牌,并获得其中一种颜色的所有牌。',
|
||||
psqichu:'七出',
|
||||
psqichu_info:'每回合限一次。当你于回合外需要使用或打出一张基本牌时,你可以观看牌堆顶的两张牌。若其中有此牌,你可以使用或打出之。',
|
||||
pslongxin:'龙心',
|
||||
pslongxin_info:'判定阶段开始时,你可以弃置一张装备牌,然后弃置你判定区里的一张牌。',
|
||||
ps2080_zhouyu:'☆周瑜',
|
||||
ps2080_zhouyu:'★周瑜',
|
||||
ps2080_zhouyu_prefix:'★',
|
||||
psshiyin:'识音',
|
||||
psshiyin_info:'①游戏开始时,你可以将一张手牌置于武将牌上,称为“杂音”牌。②出牌阶段开始时,你可以用一张手牌替换“杂音”牌。',
|
||||
psquwu:'曲误',
|
||||
psquwu_info:'锁定技。你不能使用或打出与“杂音”牌花色相同的牌,且这些牌对你无效。',
|
||||
psliaozou:'聊奏',
|
||||
psliaozou_info:'出牌阶段,你可以展示所有手牌,若其中没有与“杂音”牌花色相同的牌,你摸一张牌。',
|
||||
ps1062_zhouyu:'☆周瑜',
|
||||
ps1062_zhouyu:'★周瑜',
|
||||
ps1062_zhouyu_prefix:'★',
|
||||
psoldshiyin:'识音',
|
||||
psoldshiyin_info:'当你于回合内得到牌后,你可以展示之,然后根据你展示的牌包含的花色数令你本回合使用的下一张牌获得对应效果:不小于1,不能被响应;不小于2,造成的伤害+1;不小于3,使用时摸一张牌。',
|
||||
ps_caozhi:'☆曹植',
|
||||
ps_caozhi:'★曹植',
|
||||
ps_caozhi_prefix:'★',
|
||||
psliushang:'流殇',
|
||||
psliushang_info:'锁定技。①摸牌阶段,你改为摸X+1张牌,然后依次将一张手牌置于所有其他角色的武将牌上,称为“流殇”牌(X为场上角色数且至少为3)。②其他角色的准备阶段,其选择一项:1.获得其“流殇”牌,且当其于本回合对你造成伤害时,防止此伤害;2.将其“流殇”牌置入弃牌堆。',
|
||||
psqibu:'七步',
|
||||
psqibu_info:'限定技。当你进入濒死状态时,你可以亮出牌堆顶的七张牌,回复等同于其中♥牌数的体力,并获得所有♣牌。',
|
||||
ps_jin_simayi:'☆司马懿',
|
||||
ps_jin_simayi:'★司马懿',
|
||||
ps_jin_simayi_prefix:'★',
|
||||
psquanyi:'权奕',
|
||||
psquanyi_info:'①出牌阶段限一次。你可以与一名角色拼点,赢的角色根据所有拼点牌的花色执行以下效果:♥,其获得没赢的角色区域里的一张牌;♦其对没赢的角色造成1点伤害;♠,其失去1点体力;♣,其弃置两张牌。②当你拼点时,你可以选择牌堆顶的牌作为拼点牌。',
|
||||
ps2067_zhaoyun:'武将传赵云',
|
||||
ps2067_zhaoyun_ab:'赵云',
|
||||
ps2067_zhaoyun_prefix:'武将传',
|
||||
pshuiqiang:'回枪',
|
||||
pshuiqiang_info:'当你使用的【杀】被【闪】抵消后,你可以对其使用一张【杀】。',
|
||||
pshuntu:'魂突',
|
||||
pshuntu_info:'出牌阶段限一次。当你使用【杀】对目标角色造成伤害后,你可以对其使用一张【杀】。',
|
||||
ps_caopi:'☆曹丕',
|
||||
ps_caopi:'★曹丕',
|
||||
ps_caopi_prefix:'★',
|
||||
psjianwei:'僭位',
|
||||
psjianwei_info:'限定技。回合开始时,你可以失去1点体力,然后与一名其他角色交换区域里的所有牌。',
|
||||
ps2068_simayi:'☆司马懿',
|
||||
ps2068_simayi:'★司马懿',
|
||||
ps2068_simayi_prefix:'★',
|
||||
pszhonghu:'冢虎',
|
||||
pszhonghu_info:'当一名角色于你的回合外死亡后,你可以结束此回合,然后令所有角色于其回合开始前跳过此回合直到你的回合开始前。',
|
||||
ps_simayi:'☆司马懿',
|
||||
ps_simayi:'★司马懿',
|
||||
ps_simayi_prefix:'★',
|
||||
pshuxiao:'虎啸',
|
||||
pshuxiao_info:'回合开始时,你可以判定。若结果为基本牌或普通锦囊牌,你于本回合内获得如下效果:你可以将与结果点数或花色相同的手牌当与判定牌牌名和属性相同的牌使用。',
|
||||
ps_zhugeliang:'☆诸葛亮',
|
||||
ps_zhugeliang:'★诸葛亮',
|
||||
ps_zhugeliang_prefix:'★',
|
||||
psguanxing:'观星',
|
||||
psguanxing_info:'准备阶段,你可以观看牌堆顶的五张牌,并将其以任意顺序置于牌堆项或牌堆底。',
|
||||
pslongyin:'龙吟',
|
||||
pslongyin_info:'每回合限一次。你可以将任意张点数和为13的牌当做任意一张基本牌或普通锦囊牌使用或打出。',
|
||||
ps2066_zhugeliang:'武将传诸葛亮',
|
||||
ps2066_zhugeliang_ab:'诸葛亮',
|
||||
ps2066_zhugeliang_prefix:'武将传',
|
||||
pszhiji:'智激',
|
||||
pszhiji_info:'出牌阶段限一次。你可以弃置两张手牌并选择两名势力不同的角色,视为这两名角色依次视为对对方使用一张【杀】。',
|
||||
psjiefeng:'借风',
|
||||
psjiefeng_info:'出牌阶段,你可以弃置两张手牌,然后亮出牌堆顶五张牌。若其中有至少两张红色牌,你视为使用一张【万箭齐发】。',
|
||||
ps_machao:'☆马超',
|
||||
ps_machao:'★马超',
|
||||
ps_machao_prefix:'★',
|
||||
psweihou:'威侯',
|
||||
psweihou_info:'当你判定前,你可以展示牌堆顶的两张牌,选择其中一张作为你的本次判定结果,然后将另一张置入弃牌堆。',
|
||||
ps_lvbu:'☆吕布',
|
||||
ps_lvbu:'★吕布',
|
||||
ps_lvbu_prefix:'★',
|
||||
pssheji:'射戟',
|
||||
pssheji_info:'出牌阶段限一次。你可以将所有手牌当一张无距离限制的【杀】使用,然后当此【杀】对目标角色造成伤害后,你获得其装备区里的所有武器牌和坐骑牌。',
|
||||
ps_jiaxu:'☆贾诩',
|
||||
ps_jiaxu:'★贾诩',
|
||||
ps_jiaxu_prefix:'★',
|
||||
psqupo:'驱魄',
|
||||
psqupo_info:'一名角色A的回合开始时,你可以将一张牌交给另一名其他角色B。若此牌为:黑色,当A使用【杀】指定不为B的角色为目标时,A失去1点体力;红色,当B于本回合下一次受到伤害时,B失去1点体力。',
|
||||
psbaoquan:'保全',
|
||||
psbaoquan_info:'当你受到伤害时,你可以弃置一张锦囊牌并防止此伤害。',
|
||||
//S特
|
||||
ps_shen_machao:'S特神马超',
|
||||
ps_shen_machao_ab:'神马超',
|
||||
ps_shen_machao_prefix:'S特神',
|
||||
psshouli:'狩骊',
|
||||
psshouli_info:'锁定技。①游戏开始时,所有角色依次选择一项:1.使用一张坐骑牌,然后摸一张牌;2.随机从游戏外的八张坐骑牌指示物中使用一张。②你可以将场上一张进攻坐骑当【杀】,防御坐骑当【闪】使用或打出,若此坐骑牌的拥有者不为你,则其非锁定技于本回合内失效。且当你或其于本回合内受到伤害时,此伤害+1且改为雷属性。',
|
||||
pshengwu:'横骛',
|
||||
pshengwu_info:'当你使用或打出牌时,若场上有该花色的装备牌,你可以弃置任意张该花色的手牌,然后摸X张牌(X为你弃置的牌数与场上与此牌花色相同的装备牌数之和)。',
|
||||
//线下K系列木盒
|
||||
pk_sp_duyu:'K系列杜预',
|
||||
pk_sp_duyu_ab:'杜预',
|
||||
pk_sp_duyu_prefix:'K系列',
|
||||
pkwuku:'武库',
|
||||
pkwuku_info:'锁定技。当有角色使用装备牌时,若你的“武库”数小于3,则你获得1枚“武库”。',
|
||||
pksanchen:'三陈',
|
||||
|
@ -6629,11 +6673,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
vtbmeiniang_info:'其他角色的出牌阶段开始时,你可以令其视为使用一张无次数限制且不计入次数的【酒】。',
|
||||
vtbyaoli:'媱丽',
|
||||
vtbyaoli_info:'其他角色于其出牌阶段内使用【酒】后,你可以令其于本回合内使用的下一张【杀】不能被响应且可以额外指定一个目标。',
|
||||
old_machao:'★SP马超',
|
||||
old_machao_prefix:'★SP',
|
||||
jsp_caoren:'★SP曹仁',
|
||||
jsp_caoren_prefix:'★SP',
|
||||
zhangliang:'SP张梁',
|
||||
zhangliang_prefix:'SP',
|
||||
ol_xinxianying:'将辛宪英',
|
||||
ol_xinxianying_prefix:'将',
|
||||
chendong:'战役篇陈武董袭',
|
||||
chendong_prefix:'战役篇',
|
||||
jiangfei:'战役篇蒋琬费祎',
|
||||
jiangfei_prefix:'战役篇',
|
||||
jiangqing:'战役篇蒋钦',
|
||||
jiangqing_prefix:'战役篇',
|
||||
tianfeng:'战役篇田丰',
|
||||
tianfeng_prefix:'战役篇',
|
||||
jiling:'战役篇纪灵',
|
||||
jiling_prefix:'战役篇',
|
||||
kongrong:'战役篇孔融',
|
||||
kongrong_prefix:'战役篇',
|
||||
mateng:'战役篇马腾',
|
||||
mateng_prefix:'战役篇',
|
||||
|
||||
offline_star:'桌游志·SP',
|
||||
offline_sticker:'桌游志·贴纸',
|
||||
offline_yijiang:'一将成名',
|
||||
offline_luanwu:'文和乱武',
|
||||
offline_yongjian:'用间篇',
|
||||
offline_yongjian_prefix:'用间',
|
||||
offline_feihongyingxue:'飞鸿映雪',
|
||||
offline_piracyE:'官盗E系列·战役篇',
|
||||
offline_piracyS:'官盗S系列',
|
||||
|
|
|
@ -3,7 +3,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return {
|
||||
name:'old',
|
||||
connect:true,
|
||||
connectBanned:['zhangliang'],
|
||||
characterSort:{
|
||||
old:{
|
||||
old_standard:['ol_yuanshu'],
|
||||
|
@ -15,9 +14,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan",'old_caorui'],
|
||||
old_yijiang5:["old_caoxiu","old_zhuzhi"],
|
||||
old_yijiang67:["ol_zhangrang",'old_huanghao','old_liyan'],
|
||||
old_sp:["old_wanglang","old_maliang","old_machao","zhangliang","jsp_caoren","old_zhangxingcai","old_wangyun",'old_dingfeng'],
|
||||
old_sp:["old_wanglang","old_maliang","old_zhangxingcai","old_wangyun",'old_dingfeng'],
|
||||
old_yingbian:['junk_simayi','old_yangyan','old_yangzhi'],
|
||||
old_mobile:["old_caochun",'old_majun'],
|
||||
old_mobile:["old_caochun"],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
|
@ -49,7 +48,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_xiaoqiao:['female','wu',3,['tianxiang','hongyan']],
|
||||
weiyan:['male','shu',4,['kuanggu']],
|
||||
xiahouyuan:['male','wei',4,['shensu']],
|
||||
old_majun:["male","wei",3,["xinfu_jingxie1","xinfu_qiaosi"],[]],
|
||||
old_zhangxingcai:['female','shu',3,['oldshenxian','qiangwu']],
|
||||
old_fuhuanghou:['female','qun',3,['oldzhuikong','oldqiuyuan']],
|
||||
old_caochong:['male','wei',3,['oldrenxin','oldchengxiang']],
|
||||
|
@ -58,7 +56,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_zhangfei:['male','shu',4,['new_repaoxiao','new_tishen']],
|
||||
old_zhaoyun:['male','shu',4,['longdan','new_yajiao']],
|
||||
old_huatuo:['male','qun',3,['jijiu','chulao']],
|
||||
jsp_caoren:['male','wei',4,['kuiwei','yanzheng']],
|
||||
old_caochun:['male','wei',4,['shanjia']],
|
||||
masu:['male','shu',3,['xinzhan','huilei']],
|
||||
xushu:['male','shu',3,['xswuyan','jujian'],['border:wei']],
|
||||
|
@ -77,9 +74,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_zhuhuan:['male','wu',4,['youdi']],
|
||||
old_zhuzhi:['male','wu',4,['anguo']],
|
||||
|
||||
old_machao:['male','qun',4,['zhuiji','oldcihuai']],
|
||||
old_zhugezhan:["male","shu",3,["old_zuilun","old_fuyin"]],
|
||||
zhangliang:["male","qun",4,["old_jijun","old_fangtong"]],
|
||||
ol_zhangrang:['male','qun',3,['xintaoluan'],['sex:male_castrated']],
|
||||
//ol_manchong:['male','wei',3,['yuce','junxing']],
|
||||
old_guanqiujian:["male","wei",4,["drlt_zhenrong","drlt_hongju"],[]],
|
||||
|
@ -1015,41 +1010,63 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
old_zhangxingcai:'旧张星彩',
|
||||
old_majun:'骰子马钧',
|
||||
old_yuanshu:'手杀袁术',
|
||||
old_zhangxingcai_prefix:'旧',
|
||||
old_xusheng:'旧徐盛',
|
||||
old_xusheng_prefix:'旧',
|
||||
old_lingtong:'旧凌统',
|
||||
old_lingtong_prefix:'旧',
|
||||
old_zhuran:'旧朱然',
|
||||
old_zhuran_prefix:'旧',
|
||||
old_caoxiu:'旧曹休',
|
||||
old_caoxiu_prefix:'旧',
|
||||
old_caozhen:'旧曹真',
|
||||
old_caozhen_prefix:'旧',
|
||||
old_maliang:'旧马良',
|
||||
old_maliang_prefix:'旧',
|
||||
old_chenqun:'旧陈群',
|
||||
old_chenqun_prefix:'旧',
|
||||
old_zhuhuan:'旧朱桓',
|
||||
old_zhuhuan_prefix:'旧',
|
||||
old_zhuzhi:'旧朱治',
|
||||
old_machao:'☆SP马超',
|
||||
old_zhugezhan:"旧诸葛瞻",
|
||||
zhangliang:'SP张梁',
|
||||
old_zhuzhi_prefix:'旧',
|
||||
old_zhugezhan:'旧诸葛瞻',
|
||||
old_zhugezhan_prefix:'旧',
|
||||
yuji:'旧于吉',
|
||||
yuji_prefix:'旧',
|
||||
old_zhangfei:'新杀张飞',
|
||||
old_zhangfei_ab:'张飞',
|
||||
old_zhangfei_prefix:'新杀',
|
||||
old_huatuo:'OL华佗',
|
||||
jsp_caoren:'☆SP曹仁',
|
||||
old_huatuo_prefix:'OL',
|
||||
ol_zhangrang:'旧张让',
|
||||
ol_zhangrang_prefix:'旧',
|
||||
ol_liaohua:'OL廖化',
|
||||
ol_liaohua_prefix:'OL',
|
||||
ol_zhuran:'OL朱然',
|
||||
ol_zhuran_prefix:'OL',
|
||||
ol_manchong:'OL满宠',
|
||||
ol_manchong_prefix:'OL',
|
||||
old_fuhuanghou:'旧伏寿',
|
||||
old_fuhuanghou_prefix:'旧',
|
||||
old_caochong:'旧曹冲',
|
||||
old_caochong_prefix:'旧',
|
||||
old_guanqiujian:'旧毌丘俭',
|
||||
old_guanqiujian_prefix:'旧',
|
||||
old_wangyun:'旧王允',
|
||||
old_wangyun_prefix:'旧',
|
||||
old_zhaoyun:'新杀赵云',
|
||||
old_zhaoyun_ab:'赵云',
|
||||
old_zhaoyun_prefix:'新杀',
|
||||
ol_huaxiong:'旧华雄',
|
||||
ol_huaxiong_prefix:'旧',
|
||||
old_xiaoqiao:'旧小乔',
|
||||
old_xiaoqiao_prefix:'旧',
|
||||
old_wanglang:'旧王朗',
|
||||
old_wanglang_prefix:'旧',
|
||||
old_wangyi:'旧王异',
|
||||
old_wangyi_prefix:'旧',
|
||||
xin_yujin:'节钺于禁',
|
||||
xin_yujin_prefix:'节钺',
|
||||
re_yujin:'毅重于禁',
|
||||
re_yujin_prefix:'毅重',
|
||||
|
||||
old_guhuo:"蛊惑",
|
||||
old_guhuo_info:"你可以扣置一张手牌当做一张基本牌或普通锦囊牌使用或打出,体力值不为0的其他角色依次选择是否质疑。然后,若有质疑的角色,你展示此牌:若为假,此牌作废,这些角色摸一张牌;若为真,这些角色失去1点体力,且若此牌不为♥,此牌作废。",
|
||||
|
@ -1069,43 +1086,59 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
oldxuanfeng:'旋风',
|
||||
oldxuanfeng_info:'当你失去装备区里的牌后,你可以选择一项:1.视为对一名其他角色使用一张【杀】;2.对一名距离为1的角色造成1点伤害。',
|
||||
ol_yuanshu:'旧袁术',
|
||||
ol_yuanshu_prefix:'旧',
|
||||
fazheng:'旧法正',
|
||||
fazheng_prefix:'旧',
|
||||
junk_simayi:'旧晋司马懿',
|
||||
junk_simayi_ab:'司马懿',
|
||||
junk_simayi_prefix:'旧晋',
|
||||
madai:'旧马岱',
|
||||
madai_prefix:'旧',
|
||||
old_yangzhi:'旧杨芷',
|
||||
old_yangzhi_prefix:'旧',
|
||||
old_yangyan:'旧杨艳',
|
||||
old_yangyan_prefix:'旧',
|
||||
old_caorui:'旧曹叡',
|
||||
old_caorui_prefix:'旧',
|
||||
oldmingjian:'明鉴',
|
||||
oldmingjian_info:'出牌阶段开始前,你可以跳过此阶段并将所有手牌交给一名其他角色。若如此做,你结束当前回合,然后其获得一个额外的回合(仅包含出牌阶段)。',
|
||||
old_handang:'旧韩当',
|
||||
old_handang_prefix:'旧',
|
||||
oldgongji:'弓骑',
|
||||
oldgongji_info:'你可以将一张装备牌当做无距离限制的【杀】使用或打出。',
|
||||
oldjiefan:'解烦',
|
||||
oldjiefan_info:'当一名角色A于你的回合外处于濒死状态时,你可以对当前回合角色使用一张【杀】。当此【杀】造成伤害时,你防止此伤害,视为对A使用一张【桃】。',
|
||||
old_gaoshun:'旧高顺',
|
||||
old_gaoshun_prefix:'旧',
|
||||
old_liubiao:'旧刘表',
|
||||
old_liubiao_prefix:'旧',
|
||||
oldre_liubiao:'RE刘表',
|
||||
oldre_liubiao_ab:'刘表',
|
||||
oldre_liubiao_prefix:'RE',
|
||||
oldzishou:'自守',
|
||||
oldzishou_info:'摸牌阶段,若你已受伤,你可令额定摸牌数+X(X为你已损失的体力值),然后跳过下一个出牌阶段。',
|
||||
old_huanghao:'旧黄皓',
|
||||
old_huanghao_prefix:'旧',
|
||||
oldqinqing:'寝情',
|
||||
oldqinqing_info:'结束阶段,你可以选择一名攻击范围内含有主公的其他角色,然后你弃置该角色的一张牌(无牌则不弃),并令其摸一张牌。若该角色的手牌数大于主公,你摸一张牌。',
|
||||
oldhuisheng:'贿生',
|
||||
oldhuisheng_info:'每名角色限一次。当你受到其他角色对你造成的伤害时,你可以令其观看你任意数量的牌并令其选择一项:1.获得这些牌中的一张并防止此伤害;2.弃置等量的牌',
|
||||
old_dingfeng:'旧丁奉',
|
||||
junk_sunquan:'改版神孙权',
|
||||
junk_sunquan_ab:'神孙权',
|
||||
old_dingfeng_prefix:'旧',
|
||||
junk_sunquan:'旧神孙权',
|
||||
junk_sunquan_prefix:'旧神',
|
||||
new_caoren:'旧曹仁',
|
||||
new_caoren_ab:'旧曹仁',
|
||||
new_caoren_prefix:'旧',
|
||||
old_re_lidian:'旧李典',
|
||||
old_re_lidian_prefix:'旧',
|
||||
old_liyan:'旧李严',
|
||||
old_liyan_prefix:'旧',
|
||||
old_chendao:'旧陈到',
|
||||
old_caocao:'神曹操',
|
||||
old_caocao_ab:'魏武帝',
|
||||
old_chendao_prefix:'旧',
|
||||
old_caocao:'旧神曹操',
|
||||
old_caocao_prefix:'旧神',
|
||||
junkguixin:'归心',
|
||||
junkguixin_info:'回合结束时,你可以选择一项:①获得剩余武将牌堆的所有主公技的其中一个技能;②更改一名其他角色的势力。',
|
||||
old_caochun:'旧曹纯',
|
||||
old_caochun_prefix:'旧',
|
||||
|
||||
old_standard:'标准包',
|
||||
old_shenhua:'神话再临',
|
||||
|
|
|
@ -349,7 +349,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var player=_status.event.player;
|
||||
if(!game.hasPlayer(target=>target!=player&&get.damageEffect(target,player,player,'thunder')>0)) return 0;
|
||||
if(player.getExpansions('rejijun').reduce(function(num,card){
|
||||
return num=card.number;
|
||||
return num+get.number(card,false);
|
||||
},0)>36) return 1/(get.value(card)||0.5);
|
||||
else{
|
||||
if(lib.skill.refangtong.thunderEffect(card,player)) return 10-get.value(card);
|
||||
|
@ -367,17 +367,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var player=_status.event.player;
|
||||
var cards=player.getExpansions('rejijun');
|
||||
if(cards.reduce(function(num,card){
|
||||
return num=card.number;
|
||||
return num+get.number(card,false);
|
||||
},0)<=36){
|
||||
if(!ui.selected.buttons.length) return 1/button.link.number;
|
||||
if(!ui.selected.buttons.length) return 1/get.number(button.link,false);
|
||||
return 0;
|
||||
}
|
||||
else{
|
||||
var num=0,list=[];
|
||||
cards.sort((a,b)=>b.number-a.number);
|
||||
cards.sort((a,b)=>get.number(b,false)-get.number(a,false));
|
||||
for(var i=0;i<cards.length;i++){
|
||||
list.push(cards[i]);
|
||||
num+=cards[i].number;
|
||||
num+=get.number(cards[i],false)
|
||||
if(num>36) break;
|
||||
}
|
||||
return list.contains(button.link)?1:0;
|
||||
|
@ -386,7 +386,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 3'
|
||||
if(result.bool){
|
||||
var bool=(result.links.reduce(function(num,card){
|
||||
return num=card.number;
|
||||
return num+get.number(card,false);
|
||||
},0)>36);
|
||||
event.bool=bool;
|
||||
player.loseToDiscardpile(result.links);
|
||||
|
@ -404,13 +404,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var cards=player.getExpansions('rejijun'),num=0;
|
||||
cards.push(card);
|
||||
if(cards.reduce(function(num,card){
|
||||
return num=card.number;
|
||||
return num+get.number(card,false);
|
||||
},0)<=36) return false;
|
||||
cards.sort((a,b)=>b.number-a.number);
|
||||
cards.sort((a,b)=>get.number(b,false)-get.number(a,false));
|
||||
var bool=false;
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(cards[i]==card) bool=true;
|
||||
num+=cards[i].number;
|
||||
num+=get.number(cards[i],false);
|
||||
if(num>36) break;
|
||||
}
|
||||
return bool;
|
||||
|
@ -440,6 +440,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var target=trigger.player;
|
||||
event.player=player;
|
||||
event.target=target;
|
||||
target.chooseBool(target==player?get.prompt('rejunbing'):'是否响应'+get.translation(player)+'的【郡兵】?','摸一张牌'+(target==player?'':',将所有手牌交给'+get.translation(player)+',然后其可以交给你等量张牌')).set('choice',get.attitude(target,player)>0);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
|
@ -1462,6 +1463,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
//界文聘
|
||||
rezhenwei:{
|
||||
audio:'zhenwei',
|
||||
inherit:'zhenwei',
|
||||
filter:function(event,player){
|
||||
if(player==event.target) return false;
|
||||
|
@ -6111,7 +6113,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
return false;
|
||||
},
|
||||
audio:'lihuo',
|
||||
|
@ -6139,7 +6141,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ollihuo2:{
|
||||
trigger:{player:'useCard2'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha'||!event.card.hasNature('fire')) return false;
|
||||
if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false;
|
||||
return game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&lib.filter.targetEnabled(event.card,player,current)&&lib.filter.targetInRange(event.card,player,current);
|
||||
});
|
||||
|
@ -7604,7 +7606,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadelihuo:{
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
return false;
|
||||
},
|
||||
audio:'lihuo',
|
||||
|
@ -7630,7 +7632,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadelihuo2:{
|
||||
trigger:{player:'useCard2'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha'||!event.card.hasNature('fire')) return false;
|
||||
if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false;
|
||||
return game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&player.canUse(event.card,current);
|
||||
});
|
||||
|
@ -7660,7 +7662,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadelihuo3:{
|
||||
trigger:{player:'useCardAfter'},
|
||||
filter:function(event,player){
|
||||
return event.card.name=='sha'&&event.card.hasNature('fire')&&event.targets.length>1&&player.getHistory('sourceDamage',function(evt){
|
||||
return event.card.name=='sha'&&game.hasNature(event.card,'fire')&&event.targets.length>1&&player.getHistory('sourceDamage',function(evt){
|
||||
return evt.card==event.card;
|
||||
}).length>0;
|
||||
},
|
||||
|
@ -10330,21 +10332,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.storage.rehuashen&&player.storage.rehuashen.character.length>0;
|
||||
},
|
||||
banned:['lisu','sp_xiahoudun','xushao','zhoutai','old_zhoutai','shixie'],
|
||||
bannedType:['Charlotte','主公技','觉醒技','限定技','隐匿技','使命技'],
|
||||
addHuashen:function(player){
|
||||
if(!player.storage.rehuashen) return;
|
||||
if(!_status.characterlist){
|
||||
lib.skill.pingjian.initList();
|
||||
}
|
||||
_status.characterlist.randomSort();
|
||||
var bool=false;
|
||||
for(var i=0;i<_status.characterlist.length;i++){
|
||||
var name=_status.characterlist[i];
|
||||
if(name.indexOf('zuoci')!=-1||name.indexOf('key')==0||lib.skill.rehuashen.banned.contains(name)||player.storage.rehuashen.character.contains(name)) continue;
|
||||
var skills=lib.character[name][3];
|
||||
for(var j=0;j<skills.length;j++){
|
||||
var info=lib.skill[skills[j]];
|
||||
if(info.charlotte||(info.unique&&!info.gainable)||info.juexingji||info.limited||info.zhuSkill||info.hiddenSkill||info.dutySkill) skills.splice(j--,1);
|
||||
}
|
||||
for(let i=0;i<_status.characterlist.length;i++){
|
||||
let name=_status.characterlist[i];
|
||||
if(name.indexOf('zuoci')!=-1||name.indexOf('key_')==0||name.indexOf('sp_key_')==0||lib.skill.rehuashen.banned.includes(name)||player.storage.rehuashen.character.includes(name)) continue;
|
||||
let skills=lib.character[name][3].filter(skill=>{
|
||||
const categories=get.skillCategoriesOf(skill);
|
||||
return !categories.some(type=>lib.skill.rehuashen.bannedType.includes(type));
|
||||
})
|
||||
if(skills.length){
|
||||
player.storage.rehuashen.character.push(name);
|
||||
player.storage.rehuashen.map[name]=skills;
|
||||
|
@ -14425,40 +14426,69 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
re_zhangliao:'界张辽',
|
||||
re_huangyueying:'新黄月英',
|
||||
re_zhangliao_prefix:'界',
|
||||
re_simayi:'界司马懿',
|
||||
re_simayi_prefix:'界',
|
||||
re_xuzhu:'界许褚',
|
||||
re_xuzhu_prefix:'界',
|
||||
re_xiahoudun:'界夏侯惇',
|
||||
re_xiahoudun_prefix:'界',
|
||||
re_lvmeng:'界吕蒙',
|
||||
re_lvmeng_prefix:'界',
|
||||
re_zhouyu:'界周瑜',
|
||||
re_zhouyu_prefix:'界',
|
||||
re_luxun:'界陆逊',
|
||||
re_luxun_prefix:'界',
|
||||
re_zhaoyun:'界赵云',
|
||||
re_zhaoyun_prefix:'界',
|
||||
re_guanyu:'界关羽',
|
||||
re_guanyu_prefix:'界',
|
||||
re_zhangfei:'界张飞',
|
||||
re_zhangfei_prefix:'界',
|
||||
re_machao:'界马超',
|
||||
re_machao_prefix:'界',
|
||||
re_caocao:'界曹操',
|
||||
re_caocao_prefix:'界',
|
||||
re_guojia:'界郭嘉',
|
||||
re_guojia_prefix:'界',
|
||||
re_lvbu:'界吕布',
|
||||
re_lvbu_prefix:'界',
|
||||
re_huanggai:'界黄盖',
|
||||
re_huanggai_prefix:'界',
|
||||
re_daqiao:'界大乔',
|
||||
re_daqiao_prefix:'界',
|
||||
re_ganning:'界甘宁',
|
||||
re_ganning_prefix:'界',
|
||||
re_huatuo:'界华佗',
|
||||
re_huatuo_prefix:'界',
|
||||
re_liubei:'界刘备',
|
||||
re_liubei_prefix:'界',
|
||||
|
||||
re_diaochan:'界貂蝉',
|
||||
re_diaochan_prefix:'界',
|
||||
re_huangyueying:'界黄月英',
|
||||
re_huangyueying_prefix:'界',
|
||||
re_sunquan:'界孙权',
|
||||
re_sunquan_prefix:'界',
|
||||
re_sunshangxiang:'界孙尚香',
|
||||
re_sunshangxiang_prefix:'界',
|
||||
re_zhugeliang:'界诸葛亮',
|
||||
re_zhugeliang_prefix:'界',
|
||||
re_zhenji:'界甄宓',
|
||||
re_zhenji_prefix:'界',
|
||||
re_huaxiong:"界华雄",
|
||||
re_huaxiong_prefix:'界',
|
||||
|
||||
"ol_sp_zhugeliang":"界卧龙",
|
||||
xin_yuanshao:"手杀袁绍",
|
||||
ol_sp_zhugeliang:"界卧龙",
|
||||
ol_sp_zhugeliang_prefix:'界',
|
||||
re_zhangjiao:'界张角',
|
||||
re_zhangjiao_prefix:'界',
|
||||
re_sunce:'界孙策',
|
||||
re_sunce_prefix:'界',
|
||||
ol_yuanshao:'界袁绍',
|
||||
ol_yuanshao_prefix:'界',
|
||||
ol_liushan:'界刘禅',
|
||||
ol_liushan_prefix:'界',
|
||||
|
||||
olfangquan:'放权',
|
||||
olfangquan_info:'出牌阶段开始前,你可以跳过此阶段。若如此做,弃牌阶段开始时,你可以弃置一张手牌,令一名其他角色进行一个额外回合。',
|
||||
|
@ -14635,7 +14665,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rebotu_info:'每轮限X次。回合结束时,若本回合内置入弃牌堆的牌中包含至少四种花色,则你可获得一个额外的回合。(X为存活角色数且至多为3)',
|
||||
|
||||
xin_yuji:'界于吉',
|
||||
xin_yuji_prefix:'界',
|
||||
re_zuoci:'界左慈',
|
||||
re_zuoci_prefix:'界',
|
||||
reguhuo:"蛊惑",
|
||||
reguhuo_info:"每名角色的回合限一次,你可以扣置一张手牌当作一张基本牌或普通锦囊牌使用或打出。其他角色同时选择是否质疑。然后,你展示此牌。若有质疑的角色:若此牌为假,则此牌作废,且所有质疑者各摸一张牌;为真,则所有质疑角色于此牌结算完成后依次弃置一张牌或失去1点体力,并获得技能〖缠怨〗。",
|
||||
reguhuo_guess:"蛊惑",
|
||||
|
@ -14654,8 +14686,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rexinsheng:'新生',
|
||||
rexinsheng_info:'当你受到1点伤害后,你可以获得一张新的化身牌。',
|
||||
re_menghuo:'界孟获',
|
||||
re_sunjian:'手杀孙坚',
|
||||
re_menghuo_prefix:'界',
|
||||
re_caopi:'界曹丕',
|
||||
re_caopi_prefix:'界',
|
||||
oljiuchi:'酒池',
|
||||
oljiuchi_info:'你可以将一张黑桃手牌当做【酒】使用。锁定技,你使用【酒】无次数限制,且当你于回合内使用带有【酒】效果的【杀】造成伤害后,你令你的【崩坏】失效直到回合结束。',
|
||||
repolu:'破虏',
|
||||
|
@ -14667,15 +14700,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rezaiqi:'再起',
|
||||
rezaiqi_info:'结束阶段开始时,你可以令至多X名角色选择一项:1.摸一张牌,2.令你回复1点体力(X为本回合进入弃牌堆的红色牌数)',
|
||||
ol_jiangwei:'界姜维',
|
||||
ol_jiangwei_prefix:'界',
|
||||
ol_caiwenji:'界蔡琰',
|
||||
re_baosanniang:'手杀鲍三娘',
|
||||
ol_caiwenji_prefix:'界',
|
||||
retuntian:'屯田',
|
||||
rebeige:'悲歌',
|
||||
retuntian_info:'①当你于回合外失去牌后,你可以判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)。',
|
||||
rebeige_info:'当有角色受到【杀】造成的伤害后,你可以弃一张牌,并令其进行一次判定,若判定结果为:♥该角色回复X点体力(X为伤害点数);♦︎该角色摸三张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
|
||||
re_liushan:'手杀刘禅',
|
||||
re_sunben:'界孙笨',
|
||||
re_zhangzhang:'手杀张昭张纮',
|
||||
rehunzi:'魂姿',
|
||||
rehunzi_info:'觉醒技,准备阶段,若你的体力值不大于2,你减1点体力上限,并获得技能〖英姿〗和〖英魂〗。',
|
||||
rezhijian:'直谏',
|
||||
|
@ -14683,6 +14714,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refangquan:'放权',
|
||||
refangquan_info:'你可跳过你的出牌阶段,若如此做,你本回合的手牌上限为你的体力上限,且回合结束时,你可以弃置一张手牌并令一名其他角色进行一个额外的回合。',
|
||||
xin_gaoshun:'界高顺',
|
||||
xin_gaoshun_prefix:'界',
|
||||
repojun:'破军',
|
||||
repojun2:'破军',
|
||||
repojun3:'破军',
|
||||
|
@ -14694,23 +14726,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rejinjiu2:'禁酒',
|
||||
rejinjiu3:'禁酒',
|
||||
ol_xiahouyuan:'界夏侯渊',
|
||||
ol_xiahouyuan_prefix:'界',
|
||||
shebian:'设变',
|
||||
shebian_info:'当你的武将牌翻面后,你可以移动场上的一张装备牌。',
|
||||
cangzhuo:'藏拙',
|
||||
cangzhuo_info:'弃牌阶段开始时,若你本回合内没有使用过锦囊牌,则你的锦囊牌不计入手牌上限。',
|
||||
re_zhangyi:'界张嶷',
|
||||
re_zhangyi_prefix:'界',
|
||||
rewurong:'怃戎',
|
||||
rewurong_info:'出牌阶段限一次,你可以令一名其他角色与你同时展示一张手牌:若你展示的是【杀】且该角色展示的不是【闪】,则你对其造成1点伤害;若你展示的不是【杀】且该角色展示的是【闪】,则你获得其一张牌',
|
||||
ol_pangtong:'界庞统',
|
||||
ol_pangtong_prefix:'界',
|
||||
olniepan:'涅槃',
|
||||
olniepan_info:'限定技,当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。然后你选择获得以下技能中的一个:〖八阵〗/〖火计〗/〖看破〗',
|
||||
ol_weiyan:'界魏延',
|
||||
ol_weiyan_prefix:'界',
|
||||
reqimou:'奇谋',
|
||||
reqimou_info:'限定技,出牌阶段,你可以失去任意点体力并摸等量的牌,然后直到回合结束,你计算与其他角色的距离时-X,且你可以多使用X张【杀】(X为你失去的体力值)',
|
||||
ol_xiaoqiao:'界小乔',
|
||||
ol_xiaoqiao_prefix:'界',
|
||||
rehongyan:'红颜',
|
||||
rehongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃。当你于回合外正面朝上失去红桃牌后,若你的手牌数小于体力值,你摸一张牌。',
|
||||
re_caozhi:'手杀曹植',
|
||||
reluoying:'落英',
|
||||
reluoying_discard:'落英',
|
||||
reluoying_judge:'落英',
|
||||
|
@ -14724,16 +14760,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
chengzhang:'成章',
|
||||
chengzhang_info:'觉醒技,准备阶段开始时,若你造成伤害与受到伤害值之和累计7点或以上,则你回复1点体力并摸1张牌,然后改写〖酒诗〗。',
|
||||
re_wuyi:'界吴懿',
|
||||
re_wuyi_prefix:'界',
|
||||
re_zhuran:'界朱然',
|
||||
re_zhuran_prefix:'界',
|
||||
re_quancong:'界全琮',
|
||||
re_quancong_prefix:'界',
|
||||
re_liaohua:'界廖化',
|
||||
re_liaohua_prefix:'界',
|
||||
re_guohuai:'界郭淮',
|
||||
re_guohuai_prefix:'界',
|
||||
re_chengpu:'界程普',
|
||||
re_chengpu_prefix:'界',
|
||||
rechunlao:'醇醪',
|
||||
rechunlao2:'醇醪',
|
||||
rechunlao_info:'出牌阶段结束时,若你没有“醇”,你可以将至少一张【杀】置于你的武将牌上,称为“醇”。当一名角色处于濒死状态时,你可以移去一张“醇”,视为该角色使用一张【酒】,然后若此“醇”的属性为:火,你回复1点体力、雷,你摸两张牌。',
|
||||
re_caozhang:'界曹彰',
|
||||
re_caozhang_prefix:'界',
|
||||
yujin_yujin:'界于禁',
|
||||
yujin_yujin_prefix:'界',
|
||||
rexuanfeng:'旋风',
|
||||
rexuanfeng_info:'当你失去装备区内的牌时,或于弃牌阶段弃置了两张或更多的手牌后,你可以依次弃置一至两名其他角色的共计两张牌,或将一名其他角色装备区内的一张牌移动到另一名其他角色的装备区内。',
|
||||
olpaoxiao:'咆哮',
|
||||
|
@ -14748,24 +14792,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
regongji:'弓骑',
|
||||
regongji_info:'出牌阶段限一次,你可以弃置一张非基本牌,然后弃置一名其他角色的一张牌。锁定技,当你的装备区内有坐骑牌时,你的攻击范围无限。',
|
||||
ol_sunjian:'界孙坚',
|
||||
ol_sunjian_prefix:'界',
|
||||
wulie:'武烈',
|
||||
wulie2:'武烈',
|
||||
wulie_info:'限定技,结束阶段,你可以失去任意点体力并指定等量的其他角色。这些角色各获得一枚「烈」。有「烈」的角色受到伤害时,其移去一枚「烈」,然后防止此伤害。',
|
||||
re_sunluban:'界孙鲁班',
|
||||
re_sunluban_prefix:'界',
|
||||
re_masu:'界马谡',
|
||||
re_masu_prefix:'界',
|
||||
ol_pangde:'界庞德',
|
||||
ol_pangde_prefix:'界',
|
||||
rejianchu:'鞬出',
|
||||
rejianchu_info:'当你使用【杀】指定一名角色为目标后,你可以弃置其一张牌,若以此法弃置的牌不为基本牌,此【杀】不可被【闪】响应且你本回合使用【杀】的次数上限+1,为基本牌,该角色获得此【杀】',
|
||||
re_taishici:'界太史慈',
|
||||
re_taishici_prefix:'界',
|
||||
hanzhan:'酣战',
|
||||
hanzhan_gain:'酣战',
|
||||
hanzhan_info:'①当你发起拼点时,或成为拼点的目标时,你可以令对方选择拼点牌的方式改为随机选择一张手牌。②当你拼点结束后,你可以获得本次拼点的拼点牌中点数最大的【杀】。',
|
||||
re_jianyong:'界简雍',
|
||||
re_jianyong_prefix:'界',
|
||||
xin_xusheng:'界徐盛',
|
||||
xin_xusheng_prefix:'界',
|
||||
decadepojun:'破军',
|
||||
decadepojun2:'破军',
|
||||
decadepojun_info:'当你使用【杀】指定目标后,你可以将其的至多X张牌置于其武将牌上(X为其体力值)。若这些牌中:有装备牌,你将这些装备牌中的一张置于弃牌堆;有锦囊牌,你摸一张牌。其于回合结束时获得其武将牌上的这些牌。',
|
||||
re_wangyi:'界王异',
|
||||
re_wangyi_prefix:'界',
|
||||
guanzhang:'关兴张苞',
|
||||
rezishou:'自守',
|
||||
rezishou2:'自守',
|
||||
|
@ -14773,10 +14825,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rezongshi:'宗室',
|
||||
rezongshi_info:'锁定技,你的手牌上限+X(X为存活势力数)。准备阶段,若你的手牌数大于体力值,则你本回合内使用【杀】无次数限制。',
|
||||
ol_dongzhuo:'界董卓',
|
||||
ol_dongzhuo_prefix:'界',
|
||||
olbaonue:'暴虐',
|
||||
olbaonue_info:'主公技,其他群雄角色造成1点伤害后,你可进行判定,若为♠,你回复1点体力并获得判定牌。',
|
||||
re_panzhangmazhong:'界潘璋马忠',
|
||||
re_panzhangmazhong_prefix:'界',
|
||||
re_hanhaoshihuan:'界韩浩史涣',
|
||||
re_hanhaoshihuan_prefix:'界',
|
||||
xinyicong:'义从',
|
||||
xinyicong_info:'锁定技,你计算与其他角色的距离时-X,其他角色计算与你的距离时+Y。(X为你的体力值-1,Y为你的已损失体力值-1)',
|
||||
oltianxiang:'天香',
|
||||
|
@ -14792,36 +14847,43 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadechunlao:'醇醪',
|
||||
decadechunlao2:'醇醪',
|
||||
decadechunlao_info:'你可以对其他角色使用【酒(使用方法②)】。当你需要使用【酒】时,若你的武将牌未横置,则你可以将武将牌横置,然后视为使用【酒】。当你受到或造成伤害后,若伤害值大于1且你的武将牌横置,则你可以重置武将牌。',
|
||||
re_liru:'手杀李儒',
|
||||
rejuece:'绝策',
|
||||
rejuece_info:'结束阶段,你可以对一名本回合内失去过牌的角色造成1点伤害。',
|
||||
remieji:'灭计',
|
||||
remieji_info:'出牌阶段限一次,你可以将一张黑色锦囊牌置于牌堆顶,然后令一名有牌的其他角色选择一项:交给你一张锦囊牌,或依次弃置两张非锦囊牌。',
|
||||
re_manchong:'界满宠',
|
||||
re_manchong_prefix:'界',
|
||||
rejunxing:'峻刑',
|
||||
rejunxing_info:'出牌阶段限一次,你可以弃置任意张手牌并选择一名其他角色。该角色选择一项:1.弃置X张牌并失去1点体力。2.翻面并摸X张牌。(X为你弃置的牌数)',
|
||||
re_gongsunzan:'OL公孙瓒',
|
||||
re_gongsunzan:'界公孙瓒',
|
||||
re_gongsunzan_prefix:'界',
|
||||
reqiaomeng:'趫猛',
|
||||
reqiaomeng_info:'当你使用【杀】对一名角色造成伤害后,你可以弃置该角色区域内的一张牌。若此牌为坐骑牌,则你于此弃置事件结算结束后获得此牌。',
|
||||
ol_dengai:'界邓艾',
|
||||
ol_dengai_prefix:'界',
|
||||
oltuntian:'屯田',
|
||||
olzaoxian:'凿险',
|
||||
oltuntian_info:'①当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)。',
|
||||
olzaoxian_info:'觉醒技,准备阶段,若你武将牌上“田”的数量达到3张或更多,则你减1点体力上限,并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
|
||||
re_sunxiu:'界孙休',
|
||||
re_sunxiu_prefix:'界',
|
||||
re_caoxiu:'界曹休',
|
||||
re_caoxiu_prefix:'界',
|
||||
xin_lingtong:'界凌统',
|
||||
xin_lingtong_prefix:'界',
|
||||
decadexuanfeng:'旋风',
|
||||
decadexuanfeng_info:'当你于弃牌阶段弃置过至少两张牌,或当你失去装备区里的牌后,若场上没有处于濒死状态的角色,则你可以弃置至多两名其他角色的共计两张牌。若此时处于你的回合内,你可以对其中一名目标角色造成1点伤害。',
|
||||
yongjin:'勇进',
|
||||
yongjin_info:'限定技,出牌阶段,你可以依次移动场上的至多三张不同的装备牌。',
|
||||
xin_liubiao:'界刘表',
|
||||
xin_liubiao_prefix:'界',
|
||||
decadezishou:'自守',
|
||||
decadezishou_zhiheng:'自守',
|
||||
decadezishou_info:'摸牌阶段,你可以多摸X张牌(X为存活势力数);然后本回合你对其他角色造成伤害时,防止此伤害。结束阶段,若你本回合没有使用牌指定其他角色为目标,你可以弃置任意张花色不同的手牌,然后摸等量的牌。',
|
||||
decadezongshi:'宗室',
|
||||
decadezongshi_info:'锁定技,你的手牌上限+X(X为存活势力数)。你的回合外,若你的手牌数大于等于手牌上限,则当你成为延时类锦囊牌或无颜色的牌的目标后,你令此牌对你无效。',
|
||||
re_fazheng:'界法正',
|
||||
re_fazheng_prefix:'界',
|
||||
reenyuan:'恩怨',
|
||||
reenyuan1:'恩怨',
|
||||
reenyuan2:'恩怨',
|
||||
|
@ -14829,14 +14891,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rexuanhuo:'眩惑',
|
||||
rexuanhuo_info:'摸牌阶段结束时,你可以交给一名其他角色两张手牌,然后该角色选择一项:1. 视为对你选择的另一名角色使用任意一种【杀】或【决斗】,2. 交给你所有手牌。',
|
||||
re_fuhuanghou:'界伏寿',
|
||||
re_fuhuanghou_prefix:'界',
|
||||
reqiuyuan:'求援',
|
||||
reqiuyuan_info:'当你成为【杀】的目标时,你可选择另一名其他角色。除非该角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标且该角色不能响应此【杀】。',
|
||||
rezhuikong:'惴恐',
|
||||
rezhuikong_info:'其他角色的回合开始时,若你已受伤,你可与其拼点:若你赢,本回合该角色只能对自己使用牌;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。',
|
||||
re_gongsunyuan:'界公孙渊',
|
||||
re_gongsunyuan_prefix:'界',
|
||||
rehuaiyi:'怀异',
|
||||
rehuaiyi_info:'出牌阶段限一次,你可以展示所有手牌,若这些牌的颜色:全部相同,你摸一张牌,并将此技能于本阶段内改为“限两次”,然后终止此技能的结算流程;不全部相同,则你选择一种颜色并弃置该颜色的所有手牌,然后你可以获得至多X名角色的各一张牌(X为你以此法弃置的手牌数)。若你以此法得到的牌不少于两张,则你失去1点体力。',
|
||||
re_caozhen:'界曹真',
|
||||
re_caozhen_prefix:'界',
|
||||
residi:'司敌',
|
||||
residi_push:'司敌',
|
||||
residi2:'司敌',
|
||||
|
@ -14844,7 +14909,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
residi_info:'结束阶段,你可以将一张非基本牌置于武将牌上,称为“司”。其他角色的出牌阶段开始时,你可以移去一张“司”。若如此做,其本阶段内不能使用或打出与“司”颜色相同的牌。此阶段结束时,若其于此阶段内未使用过:【杀】,你视为对其使用一张【杀】。锦囊牌,你摸两张牌。',
|
||||
gz_re_xushu:'徐庶',
|
||||
re_zhangchunhua:'界张春华',
|
||||
re_zhangchunhua_prefix:'界',
|
||||
xin_handang:'界韩当',
|
||||
xin_handang_prefix:'界',
|
||||
xingongji:'弓骑',
|
||||
xingongji2:'弓骑',
|
||||
xingongji_info:'出牌阶段限一次,你可以弃置一张牌,然后你的攻击范围视为无限且使用与此牌花色相同的【杀】无次数限制直到回合结束。若你以此法弃置的牌为装备牌,则你可以弃置一名其他角色的一张牌。',
|
||||
|
@ -14856,9 +14923,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gzpaiyi_backup:'排异',
|
||||
gzpaiyi_info:'出牌阶段限一次。你可以移去一张“权”并选择一名角色。令其摸X张牌(X为你的“权”数且至多为7)。然后若其手牌数大于你,则你对其造成1点伤害。',
|
||||
ol_zhurong:'界祝融',
|
||||
ol_zhurong_prefix:'界',
|
||||
changbiao:'长标',
|
||||
changbiao_info:'出牌阶段限一次,你可以将任意张手牌当做【杀】使用(无距离限制)。若你因此【杀】对目标角色造成过伤害,则你于出牌阶段结束时摸X张牌(X为此【杀】对应的实体牌数量)。',
|
||||
re_zhoucang:'界周仓',
|
||||
re_zhoucang_prefix:'界',
|
||||
rezhongyong:'忠勇',
|
||||
rezhongyong_info:'当你使用【杀】后,你可以将此【杀】以及目标角色使用的【闪】交给一名其他角色,若其获得的牌中有红色,则其可以对你攻击范围内的角色使用一张【杀】。若其获得的牌中有黑色,其摸一张牌。',
|
||||
ollihuo:'疠火',
|
||||
|
@ -14868,7 +14937,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ollihuo_info:'你使用普通的【杀】可以改为火【杀】,若此【杀】造成过伤害,你失去1点体力;你使用火【杀】可以多选择一个目标。你每回合使用的第一张牌如果是【杀】,则此【杀】结算完毕后可置于你的武将牌上。',
|
||||
xinjiangchi:'将驰',
|
||||
xinjiangchi_info:'出牌阶段开始时,你可选择:①摸一张牌。②摸两张牌,然后本回合内不能使用或打出【杀】。③弃置一张牌,然后本回合内可以多使用一张【杀】,且使用【杀】无距离限制。',
|
||||
re_chenqun:'手杀陈群',
|
||||
redingpin:'定品',
|
||||
redingpin_info:'出牌阶段,你可以弃置一张本回合未使用过/弃置过的类型的牌并选择一名角色。其进行判定,若结果为:黑色,其摸X张牌(X为其体力值且至多为3)且本回合内不能再成为〖定品〗的目标;红桃,你令此次弃置的牌不计入〖定品〗弃置牌合法性的检测;方片,你将武将牌翻面。',
|
||||
refaen:'法恩',
|
||||
|
@ -14878,10 +14946,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reshizhi:'矢志',
|
||||
reshizhi_info:'锁定技,若你的体力值为1,则你的【闪】视为【杀】,且当你使用对应的实体牌为一张【闪】的非转化普通杀造成伤害后,你回复1点体力。',
|
||||
re_guotufengji:'界郭图逢纪',
|
||||
re_guotufengji_prefix:'界',
|
||||
rejigong:'急攻',
|
||||
rejigong2:'急攻',
|
||||
rejigong_info:'出牌阶段开始时,你可以摸至多三张牌。若如此做,你本回合的手牌上限基数改为X,且弃牌阶段结束时,若X不小于Y,则你回复1点体力。(X为你本回合内造成的伤害值之和,Y为你本回合内因〖急攻〗摸牌而得到的牌的数量总和)',
|
||||
ol_jiangwei:'界姜维',
|
||||
ol_jiangwei_prefix:'界',
|
||||
oltiaoxin:'挑衅',
|
||||
oltiaoxin_info:'出牌阶段限一次,你可以选择一名攻击范围内包含你的角色。然后除非该角色对你使用一张【杀】且此【杀】对你造成伤害,否则你弃置其一张牌,然后将此技能于此出牌阶段内修改为出牌阶段限两次。 ',
|
||||
olzhiji:'志继',
|
||||
|
@ -14891,16 +14961,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadejingce:'精策',
|
||||
decadejingce_info:'结束阶段,若你本回合使用过的牌数不小于你的体力值,则你可执行一个摸牌阶段或出牌阶段;若这些牌包含的花色数也不小于你的体力值,则你将“或”改为“并”。',
|
||||
re_guanping:'界关平',
|
||||
re_guanping_prefix:'界',
|
||||
relongyin:'龙吟',
|
||||
relongyin_info:'当一名角色于其出牌阶段内使用【杀】时,你可弃置一张牌令此【杀】不计入出牌阶段使用次数。若此【杀】为红色,则你摸一张牌;若你以此法弃置的牌与此【杀】点数相同,则你重置“竭忠”。',
|
||||
jiezhong:'竭忠',
|
||||
jiezhong_info:'限定技,出牌阶段开始时,你可以将手牌补至体力上限(至多摸五张)。',
|
||||
re_caifuren:'界蔡夫人',
|
||||
re_caifuren_prefix:'界',
|
||||
reqieting:'窃听',
|
||||
reqieting_info:'其他角色的回合结束时,若其本回合内未造成过伤害,则你可将其装备区内的一张牌置于你的装备区内;若其本回合内未对其他角色使用过牌,则你可摸一张牌。',
|
||||
rexianzhou:'献州',
|
||||
rexianzhou_info:'限定技。出牌阶段,你可将装备区内的所有牌交给一名其他角色。你回复X点体力,然后对其攻击范围内的至多X名角色各造成1点伤害(X为你以此法给出的牌数)。',
|
||||
xin_zhonghui:'界钟会',
|
||||
xin_zhonghui_prefix:'界',
|
||||
xinquanji:'权计',
|
||||
xinquanji_info:'①当你受到1点伤害后,或其他角色不因你的赠予或交给而得到你的牌后,你可以摸一张牌,然后将一张手牌置于武将牌上,称为“权”。②你的手牌上限+X(X为“权”的数量)。',
|
||||
xinzili:'自立',
|
||||
|
@ -14909,11 +14982,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinpaiyi_backup:'排异',
|
||||
xinpaiyi_info:'出牌阶段每项各限一次,你可移去一张“权”并选择一项:①令一名角色摸X张牌。②对至多X名角色各造成1点伤害。(X为“权”数)',
|
||||
re_guyong:'界顾雍',
|
||||
re_guyong_prefix:'界',
|
||||
reshenxing:'慎行',
|
||||
reshenxing_info:'出牌阶段,你可以弃置X张牌(X为你本阶段内发动过〖慎行〗的次数且至少为0,至多为2),然后摸一张牌。',
|
||||
rebingyi:'秉壹',
|
||||
rebingyi_info:'结束阶段,你可展示所有手牌。若这些牌:颜色均相同,则你可以令至多X名角色各摸一张牌(X为你的手牌数);点数均相同,则你摸一张牌。',
|
||||
re_jiaxu:'界贾诩',
|
||||
re_jiaxu_prefix:'界',
|
||||
rewansha:'完杀',
|
||||
rewansha_info:'锁定技。①你的回合内,不处于濒死状态的其他角色不能使用【桃】。②当有角色于你的回合内进入濒死状态时,你令其以外的所有其他角色的非锁定技失效直到此濒死状态结算结束。',
|
||||
reluanwu:'乱武',
|
||||
|
@ -14921,6 +14996,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reweimu:'帷幕',
|
||||
reweimu_info:'锁定技。①你不能成为黑色锦囊牌的目标。②当你于回合内受到伤害时,你防止此伤害并摸2X张牌(X为伤害值)。',
|
||||
ol_lusu:'界鲁肃',
|
||||
ol_lusu_prefix:'界',
|
||||
olhaoshi:'好施',
|
||||
olhaoshi_info:'摸牌阶段开始时,你可以多摸两张牌。然后摸牌阶段结束时,若你的手牌数大于5,则你将手牌数的一半(向下取整)交给一名手牌最少其他角色并获得如下效果直到你下回合开始:当你成为【杀】或普通锦囊牌的目标后,其可以交给你一张手牌。',
|
||||
oldimeng:'缔盟',
|
||||
|
@ -14931,11 +15007,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rejijiang2:'激将',
|
||||
rejijiang_info:'主公技。①当你需要使用或打出【杀】时,你可以令其他蜀势力角色依次选择是否打出一张【杀】。若有角色响应,则你视为使用或打出了此【杀】。②每回合限一次。当有蜀势力角色于回合外使用或打出【杀】时,其可以令你摸一张牌。',
|
||||
xin_yufan:'界虞翻',
|
||||
xin_yufan_prefix:'界',
|
||||
xinzongxuan:'纵玄',
|
||||
xinzongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可将其中的任意张牌置于牌堆顶。若剩余的牌中有锦囊牌,则你可以令一名其他角色获得其中的一张。',
|
||||
xinzhiyan:'直言',
|
||||
xinzhiyan_info:'结束阶段开始时,你可令一名角色摸一张牌(正面朝上移动)。若此牌为基本牌,则你摸一张牌。若此牌为装备牌,则其回复1点体力并使用此装备牌。',
|
||||
re_xiahoushi:'界夏侯氏',
|
||||
re_xiahoushi_prefix:'界',
|
||||
reqiaoshi:'樵拾',
|
||||
reqiaoshi_info:'其他角色的结束阶段开始时,若你的手牌数与其相等,则你可以与其各摸一张牌。若这两张牌花色相同,则你可以重复此步骤。',
|
||||
reyanyu:'燕语',
|
||||
|
@ -14944,14 +15022,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rehujia:'护驾',
|
||||
rehujia_info:'主公技。①当你需要使用或打出一张【闪】时,你可以令其他魏势力角色选择是否打出一张【闪】。若有角色响应,则你视为使用或打出了一张【闪】。②每回合限一次。当有魏势力角色于回合外使用或打出【闪】时,其可以令你摸一张牌。',
|
||||
ol_xuhuang:'界徐晃',
|
||||
ol_xuhuang_prefix:'界',
|
||||
olduanliang:'断粮',
|
||||
olduanliang_info:'你可以将一张黑色非锦囊牌当做【兵粮寸断】使用。若你于当前回合内未造成过伤害,则你使用【兵粮寸断】无距离限制。',
|
||||
oljiezi:'截辎',
|
||||
oljiezi_info:'①当有角色跳过摸牌阶段后,你可选择一名角色。若该角色:手牌数为全场最少且没有“辎”,则其获得一枚“辎”。否则其摸一张牌。②一名角色的摸牌阶段结束时,若其有“辎”,则你移去其“辎”,然后令其获得一个额外的摸牌阶段。',
|
||||
re_madai:'界马岱',
|
||||
re_madai_prefix:'界',
|
||||
reqianxi:'潜袭',
|
||||
reqianxi_info:'准备阶段开始时,你可摸一张牌,然后弃置一张牌并选择一名距离为1的其他角色。该角色于本回合内:{不能使用或打出与此牌颜色相同的牌,且其装备区内与此牌颜色相同的防具牌无效,且当其回复体力时,你摸两张牌。}',
|
||||
re_guohuanghou:'界郭皇后',
|
||||
re_guohuanghou_prefix:'界',
|
||||
rejiaozhao:'矫诏',
|
||||
rejiaozhao_info:'出牌阶段限一次。你可以展示一张手牌,并令一名距离你最近的角色选择一种基本牌或普通锦囊牌的牌名。你可将此牌当做其声明的牌使用直到此阶段结束(你不是此牌的合法目标)。',
|
||||
rejiaozhao_lv2:'矫诏·升级 Lv.1',
|
||||
|
@ -14961,6 +15042,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
redanxin:'殚心',
|
||||
redanxin_info:'当你受到伤害后,你可以摸一张牌并升级〖矫诏〗。',
|
||||
xin_wuguotai:'界吴国太',
|
||||
xin_wuguotai_prefix:'界',
|
||||
xinganlu:'甘露',
|
||||
xinganlu_info:'出牌阶段限一次。你可以令两名角色交换装备区内的牌,然后若这两名角色装备区内牌数差的绝对值大于你已损失的体力值,则你弃置两张手牌。',
|
||||
xinbuyi:'补益',
|
||||
|
@ -14971,6 +15053,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadejinjiu:'禁酒',
|
||||
decadejinjiu_info:'锁定技。你的【酒】的牌名均视为【杀】且点数视为K;你的回合内,其他角色不能使用【酒】。',
|
||||
dc_xushu:'界徐庶',
|
||||
dc_xushu_prefix:'界',
|
||||
rezhuhai:'诛害',
|
||||
rezhuhai_info:'其他角色的回合结束时,若其本回合内造成过伤害,则你可以选择一项:⒈将一张手牌当做【杀】对其使用。⒉视为对其使用一张【过河拆桥】。',
|
||||
xsqianxin:'潜心',
|
||||
|
@ -14978,29 +15061,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rejianyan:'荐言',
|
||||
rejianyan_info:'出牌阶段每项各限一次。你可选择一种颜色或一种牌的类别,然后系统从牌堆中检索出一张满足该条件的牌并展示之。然后你将此牌交给一名男性角色或Key势力角色。',
|
||||
re_zhanghe:'界张郃',
|
||||
re_zhanghe_prefix:'界',
|
||||
reqiaobian:'巧变',
|
||||
reqiaobian_info:'①游戏开始时,你获得两枚“变”。②判定阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段。③摸牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段,然后可以获得至多两名其他角色的各一张手牌。④出牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段,然后你可以移动场上的一张牌。⑤弃牌阶段开始时,你可弃置一张牌或一枚“变”并跳过此阶段。⑥结束阶段,若你的〖巧变⑥〗记录中不包含你的手牌数,则你获得一枚“变”并记录你的手牌数。',
|
||||
olbeige:'悲歌',
|
||||
olbeige_info:'当有角色受到渠道为【杀】的伤害后,若你有牌,你可令其进行判定。然后你可弃置一张牌,根据判定结果执行以下的一个选项:♥,其回复1点体力;♦,其摸两张牌;♣,伤害来源弃置两张牌️;♠,伤害来源将武将牌翻面。若你弃置的牌与判定结果:点数相同,则你获得你弃置的牌;花色相同,则你获得判定牌。',
|
||||
dc_bulianshi:'界步练师',
|
||||
dc_bulianshi_prefix:'界',
|
||||
dcanxu:'安恤',
|
||||
dcanxu_info:'出牌阶段限一次,你可以选择两名手牌数不同的其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之。然后若此牌不为黑桃,则你摸一张牌;若这两名角色手牌数相等,则你回复1点体力。',
|
||||
dczhuiyi:'追忆',
|
||||
dczhuiyi_info:'当你死亡时,你可以令一名不为击杀者的其他角色摸X张牌(X为存活角色数),然后其回复1点体力。',
|
||||
re_jushou:'界沮授',
|
||||
re_jushou_prefix:'界',
|
||||
dcshibei:'矢北',
|
||||
dcshibei_info:'锁定技,当你于一回合内第一次受到伤害后,你回复1点体力;当你于一回合内第二次受到伤害后,你失去1点体力。',
|
||||
dcjianying:'渐营',
|
||||
dcjianying_info:'当你使用与你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。',
|
||||
re_duji:'界杜畿',
|
||||
re_duji_prefix:'界',
|
||||
reandong:'安东',
|
||||
reandong_info:'当你受到其他角色造成的伤害时,你可以令伤害来源选择一项:⒈防止此伤害。然后其♥牌不计入本回合的手牌上限;⒉你观看其手牌并获得其中的所有♥牌,若其没有手牌,则你下次发动〖安东〗时改为自行选择。',
|
||||
reyingshi:'应势',
|
||||
reyingshi_info:'出牌阶段开始时,你可以展示一张手牌,选择一名角色A和一名其他角色B。A可以对B使用一张【杀】,然后获得你展示的牌。若A因此【杀】造成过伤害,则A获得牌堆中与展示牌花色点数相同的其他牌。',
|
||||
dcqiaomeng:'趫猛',
|
||||
dcqiaomeng_info:'当你使用黑色牌指定第一个目标后,你可以弃置目标角色中一名其他角色的一张牌。若你以此法弃置的牌为:装备牌,你获得此牌;锦囊牌,你令此牌不可被响应。',
|
||||
dc_gongsunzan:'界公孙瓒',
|
||||
dc_gongsunzan:'新杀公孙瓒',
|
||||
dc_gongsunzan_prefix:'新杀',
|
||||
re_liuchen:'界刘谌',
|
||||
re_liuchen_prefix:'界',
|
||||
rezhanjue:'战绝',
|
||||
rezhanjue_effect:'战绝',
|
||||
rezhanjue_info:'出牌阶段,若你本阶段内因〖战绝〗得到过的牌数小于3,则你可以将所有不具有“勤王”标记的手牌当做【决斗】使用。此【决斗】使用结算结束后,你摸一张牌。然后所有因此【决斗】受到过伤害的角色也各摸一张牌。',
|
||||
|
@ -15009,28 +15098,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shizhan:'势斩',
|
||||
shizhan_info:'出牌阶段限两次,你可以选择一名其他角色。该角色视为对你使用一张【决斗】。',
|
||||
ol_xunyu:'界荀彧',
|
||||
ol_xunyu_prefix:'界',
|
||||
oljieming:'节命',
|
||||
oljieming_info:'当你受到1点伤害后或死亡时,你可令一名角色摸X张牌。然后若其手牌数大于X,则其将手牌弃置至X张(X为其体力上限且至多为5)。',
|
||||
re_liufeng:'界刘封',
|
||||
re_liufeng_prefix:'界',
|
||||
rexiansi:'陷嗣',
|
||||
rexiansi2:'陷嗣',
|
||||
rexiansi_info:'①准备阶段开始时,你可以将一至两名角色的各一张牌置于你的武将牌上,称为“逆”。②当一名角色需要对你使用【杀】时,其可以移去两张“逆”,然后视为对你使用一张【杀】。③若你的“逆”数大于体力值,则你可以移去一张“逆”并视为使用一张【杀】。',
|
||||
re_sp_taishici:'界SP太史慈',
|
||||
re_sp_taishici_ab:'太史慈',
|
||||
re_sp_taishici_prefix:'界SP',
|
||||
rejixu:"击虚",
|
||||
rejixu_info:"出牌阶段限一次。若你有手牌,则你可以选择至多X名角色,令这些角色猜测你的手牌区中是否有【杀】。若你:有【杀】,则你本阶段使用【杀】的次数上限+Y,且当你于本阶段内使用【杀】指定目标后,你可以令这Y名角色也成为此【杀】的目标;没有【杀】,则你弃置这Y名角色的各一张牌。然后你摸Y张牌(X为你的体力值,Y为这些角色中猜错的角色数)。",
|
||||
ol_dianwei:'界典韦',
|
||||
ol_dianwei_prefix:'界',
|
||||
olqiangxi:'强袭',
|
||||
olqiangxi_info:'出牌阶段限两次。你可以弃置一张武器牌或受到1点无来源伤害,然后对一名本回合内未成为过〖强袭〗目标的其他角色造成1点伤害。',
|
||||
olningwu:'狞恶',
|
||||
olningwu_info:'锁定技。当一名角色A于一回合内第二次受到伤害后,若A或伤害来源为你,则你摸一张牌,然后弃置其装备区或判定区内的一张牌。',
|
||||
re_zhuhuan:'界朱桓',
|
||||
re_zhuhuan_prefix:'界',
|
||||
refenli:'奋励',
|
||||
refenli_info:'若你的手牌数为全场最多,你可以跳过判定阶段和摸牌阶段;若你的体力值为全场最多,你可以跳过出牌阶段;若你的装备区里有牌且数量为全场最多,你可以跳过弃牌阶段。',
|
||||
//破界石不值钱了 就逮着免费突破硬削是吧
|
||||
repingkou:'平寇',
|
||||
repingkou_info:'回合结束时,你可以对至多X名其他角色各造成1点伤害(X为你本回合跳过的阶段数)。若你选择的角色数小于X,则你可以弃置其中一名角色装备区内的一张牌',
|
||||
dc_liru:'界李儒',
|
||||
dc_liru_prefix:'界',
|
||||
dcmieji:'灭计',
|
||||
dcmieji_info:'出牌阶段限一次,你可以展示一张武器牌或黑色锦囊牌。你将此牌置于牌堆顶,然后令一名有手牌的其他角色选择一项:⒈弃置一张锦囊牌;⒉依次弃置两张非锦囊牌。',
|
||||
dcfencheng:'焚城',
|
||||
|
@ -15038,38 +15132,48 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
oljiang:'激昂',
|
||||
oljiang_info:'①当你使用【决斗】或红色【杀】指定第一个目标后,或成为【决斗】或红色【杀】的目标后,你可以摸一张牌。②当有【决斗】或红色【杀】于每回合内首次因弃置而进入弃牌堆后,你可以失去1点体力并获得这些牌。',
|
||||
re_xunyou:'界荀攸',
|
||||
re_xunyou_prefix:'界',
|
||||
reqice:'奇策',
|
||||
reqice_info:'出牌阶段限X次(X为你的“奇策”数+1),你可以将所有手牌当做任意一张普通锦囊牌使用。',
|
||||
rezhiyu:'智愚',
|
||||
rezhiyu_info:'当你受到伤害后,你可以摸一张牌,然后展示所有手牌,令伤害来源弃置一张手牌。若你展示的牌颜色均相同,你获得1枚“奇策”直到下回合结束且获得来源弃置的牌。',
|
||||
re_caiyong:'界蔡邕',
|
||||
re_caiyong_prefix:'界',
|
||||
rebizhuan:'辟撰',
|
||||
rebizhuan_bg:'书',
|
||||
rebizhuan_info:'①当你使用♠牌时,或成为其他角色使用♠牌的目标后,你可以将牌堆顶的一张牌置于武将牌上,称为“书”(你至多拥有四张“书”)。②你的手牌上限+X(X为“书”数)。',
|
||||
retongbo:'通博',
|
||||
retongbo_info:'摸牌阶段结束时,你可以用任意手牌交换等量“书”。然后若“书”数至少为4,你可以将四张“书”任意交给其他角色。若你交出的牌花色各不相同,你回复1点体力且“书”的上限+1(至多增加等同存活角色数的上限)。',
|
||||
re_chengong:'界陈宫',
|
||||
re_chengong_prefix:'界',
|
||||
remingce:'明策',
|
||||
remingce_info:'出牌阶段限一次。你可以将一张【杀】或装备牌交给一名其他角色,其选择一项:1.视为对你选择的另一名角色使用一张【杀】,且若此牌造成伤害,则执行选项2;2.你与其各摸一张牌。',
|
||||
re_sundeng:'界孙登',
|
||||
re_sundeng_prefix:'界',
|
||||
rekuangbi:'匡弼',
|
||||
rekuangbi_info:'出牌阶段开始时,你可以令一名其他角色将至多三张牌置于你的武将牌上直到此阶段结束。然后当你使用牌时,若你:有与此牌花色相同的“匡弼”牌,你移去其中一张并与其各摸一张牌;没有与此牌花色相同的“匡弼”牌,你随机移去一张“匡弼”牌并摸一张牌。',
|
||||
dc_chenqun:'界陈群',
|
||||
dc_chenqun_prefix:'界',
|
||||
repindi:'品第',
|
||||
repindi_info:'出牌阶段每名角色限一次。你可以弃置一张本阶段未以此法弃置过的类型的牌并选择一名角色,你选择一项:1.其摸X张牌;2.其弃置X张牌(X为你本回合发动〖品第〗的次数)。然后若其已受伤,你横置或重置。',
|
||||
re_mazhong:'界马忠',
|
||||
re_mazhong_prefix:'界',
|
||||
refuman:'抚蛮',
|
||||
refuman_info:'出牌阶段每名角色限一次。你可以弃置一张牌,令一名其他角色从弃牌堆中获得一张【杀】。然后其于其下个回合结束前使用或打出此牌时,你与其各摸一张牌。',
|
||||
re_guanzhang:'界关兴张苞',
|
||||
re_guanzhang_prefix:'界',
|
||||
retongxin:'同心',
|
||||
retongxin_info:'锁定技。你的攻击范围+2。',
|
||||
re_wenpin:'界文聘',
|
||||
re_wenpin_prefix:'界',
|
||||
rezhenwei:'镇卫',
|
||||
rezhenwei_info:'当一名其他角色成为【杀】或黑色锦囊牌的目标时,若该角色的体力值不大于你且此牌的目标角色数为1,你可以弃置一张牌并选择一项:1.摸一张牌,然后将此【杀】或黑色锦囊牌的目标转移给你;2.令此【杀】或黑色锦囊牌无效且将此【杀】或黑色锦囊牌置于使用者的武将牌上,然后当前回合结束后,使用者获得这些牌。',
|
||||
ol_huangzhong:'界黄忠',
|
||||
ol_huangzhong_prefix:'界',
|
||||
remoshi:'没矢',
|
||||
remoshi_info:'锁定技。①当你使用【杀】对目标角色造成伤害后,若其装备区里有防具牌或坐骑牌,你将此【杀】对应的实体牌置于其武将牌上。②当有“没矢”牌的角色失去防具牌或坐骑牌后,你获得其“没矢”牌。',
|
||||
dc_caozhi:'界曹植',
|
||||
dc_caozhi_prefix:'界',
|
||||
dcjiushi:'酒诗',
|
||||
dcjiushi_info:'①当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。②当你受到伤害后,若你的武将牌于受到伤害时背面向上,你可以翻面。③当你使用【酒】后,你使用【杀】的次数上限+1直到你的下个回合结束。',
|
||||
olhuoji:'火计',
|
||||
|
@ -15079,44 +15183,53 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xinwangxi:'忘隙',
|
||||
xinwangxi_info:'当你对其他角色造成1点伤害后,或受到其他角色造成的1点伤害后,你可以摸两张牌,然后交给其一张牌。',
|
||||
ol_yanwen:'界颜良文丑',
|
||||
ol_yanwen_prefix:'界',
|
||||
olshuangxiong:'双雄',
|
||||
olshuangxiong_info:'①摸牌阶段结束时,你可以弃置一张牌。若如此做,你本回合内可以将一张与此牌颜色不同的牌当做【决斗】使用。②结束阶段,你从弃牌堆中获得本回合内对你造成伤害的所有牌。',
|
||||
re_zhuzhi:'界朱治',
|
||||
re_zhuzhi_prefix:'界',
|
||||
reanguo:'安国',
|
||||
reanguo_info:'出牌阶段限一次。你可以选择一名其他角色,若其:手牌数为全场最少,其摸一张牌;体力值为全场最低,其回复1点体力;装备区内牌数为全场最少,其随机使用一张装备牌。然后若该角色有未执行的效果且你满足条件,你执行之。若你与其执行了全部分支,你可以重铸任意张牌。',
|
||||
dcyicong:'义从',
|
||||
dcyicong_info:'锁定技。①你至其他角色的距离-1。②若你已损失的体力值不小于2,则其他角色至你的距离+1。',
|
||||
re_zhangsong:'界张松',
|
||||
re_zhangsong_prefix:'界',
|
||||
rexiantu:'献图',
|
||||
rexiantu_info:'其他角色的出牌阶段开始时,你可以摸两张牌,然后将两张牌交给该角色。然后此阶段结束时,若其于此阶段没有造成过伤害,你失去1点体力。',
|
||||
re_jsp_huangyueying:'界SP黄月英',
|
||||
re_jsp_huangyueying_ab:'黄月英',
|
||||
re_jsp_huangyueying_prefix:'界SP',
|
||||
rejiqiao:'机巧',
|
||||
rejiqiao_info:'出牌阶段开始时,你可以弃置任意张牌,然后亮出牌堆顶X张牌(X为你以此法弃置的牌数与其中装备牌数之和),你获得其中所有非装备牌。',
|
||||
relinglong:'玲珑',
|
||||
relinglong_info:'锁定技。若你的装备区:有空置的防具栏,你视为拥有〖八卦阵〗;有空置的两种坐骑栏,你的手牌上限+2;有空置的宝物栏,你视为拥有〖奇才〗;以上均满足:你使用的【杀】或普通锦囊牌不可被响应。',
|
||||
ol_zhangzhang:'界张昭张纮',
|
||||
ol_zhangzhang_prefix:'界',
|
||||
olzhijian:'直谏',
|
||||
olzhijian_info:'出牌阶段,你可以将一张装备牌置于其他角色的装备区(可替换原装备),然后摸一张牌。',
|
||||
olguzheng:'固政',
|
||||
olguzheng_info:'每阶段限一次。当其他角色的至少两张牌因弃置而进入弃牌堆后,你可以令其获得其中一张牌,然后你可以获得剩余的牌。',
|
||||
re_caochong:'界曹冲',
|
||||
re_caochong_prefix:'界',
|
||||
rechengxiang:'称象',
|
||||
rechengxiang_info:'当你受到伤害后,你可以亮出牌堆顶的四张牌。然后获得其中任意数量点数之和不大于13的牌。若你得到的牌点数之和为13,你复原武将牌。',
|
||||
re_caorui:'界曹叡',
|
||||
re_caorui_prefix:'界',
|
||||
rexingshuai:'兴衰',
|
||||
rexingshuai_info:'主公技,限定技。当你进入濒死状态时,你可令其他魏势力角色依次选择是否令你回复1点体力。然后这些角色依次受到1点伤害。有〖明鉴〗效果的角色于其回合内杀死角色后,你重置〖兴衰〗。',
|
||||
xin_zhangliang:'界张梁',
|
||||
xin_zhangliang_prefix:'界',
|
||||
rejijun:'集军',
|
||||
rejijun_info:'当你使用目标角色含有自己的牌结算完毕后,你可以进行一次判定并将判定牌置于武将牌上,称为“方”。',
|
||||
refangtong:'方统',
|
||||
refangtong_info:'结束阶段,你可以将一张手牌置于武将牌上,称为“方”。若如此做,你可以移去任意张“方”并对一名其他角色造成1点雷属性伤害(若你移去的“方”的点数和大于36,则改为造成3点雷属性伤害)。',
|
||||
re_simalang:'界司马朗',
|
||||
re_simalang_prefix:'界',
|
||||
requji:'去疾',
|
||||
requji_info:'出牌阶段限一次,你可以弃置至多X张牌并令等量名角色回复1点体力,然后仍处于受伤状态的目标角色摸一张牌,若你以此法弃置了黑色牌,你失去1点体力。',
|
||||
rejunbing:'郡兵',
|
||||
rejunbing_info:'一名角色的结束阶段,若其手牌数小于其体力值,其可以摸一张牌并将所有手牌交给你,然后你可以交给其等量的牌。',
|
||||
re_zhugedan:'界诸葛诞',
|
||||
re_zhugedan_prefix:'界',
|
||||
regongao:'功獒',
|
||||
regongao_info:'锁定技。一名其他角色首次进入濒死状态时,你增加1点体力上限,然后回复1点体力。',
|
||||
rejuyi:'举义',
|
||||
|
@ -15124,8 +15237,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reweizhong:'威重',
|
||||
reweizhong_info:'锁定技。当你的体力上限增加或减少时,你摸两张牌。',
|
||||
re_zhongyao:'界钟繇',
|
||||
re_zhongyao_prefix:'界',
|
||||
rehuomo:'活墨',
|
||||
rehuomo_info:'每种牌名每回合限一次。当你需要使用一张基本牌时,你可以将一张黑色非基本牌置于牌堆顶,视为使用此基本牌。',
|
||||
zhoutai:'界周泰',
|
||||
zhoutai_prefix:'界',
|
||||
caoren:'界曹仁',
|
||||
caoren_prefix:'界',
|
||||
|
||||
refresh_standard:'界限突破·标',
|
||||
refresh_feng:'界限突破·风',
|
||||
|
|
138
character/sb.js
138
character/sb.js
|
@ -42,7 +42,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
characterSort:{
|
||||
sb:{
|
||||
sb_zhi:['sb_sunquan','sb_zhouyu','sb_zhangjiao','sb_caocao','sb_zhenji','sb_liubei','sb_daqiao','sb_liubiao'],
|
||||
sb_shi:['sb_xuhuang','sb_machao','sb_fazheng','sb_chengong','sb_diaochan','sb_pangtong'],
|
||||
sb_shi:['sb_xuhuang','sb_machao','sb_fazheng','sb_chengong','sb_diaochan','sb_pangtong','sb_zhanghe'],
|
||||
sb_tong:['liucheng','sp_yangwan','sb_xiahoushi','sb_zhangfei','sb_zhaoyun','sb_sunce','sb_zhurong'],
|
||||
sb_yu:['sb_yujin','sb_lvmeng','sb_huangzhong','sb_huanggai','sb_zhouyu','sb_caoren','sb_ganning'],
|
||||
sb_neng:['sb_huaxiong','sb_sunshangxiang','sb_jiangwei','sb_yuanshao','sb_menghuo'],
|
||||
|
@ -768,9 +768,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sblijian:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return game.countPlayer(current=>{
|
||||
return !player.getStat('skill').sblijian&&game.countPlayer(current=>{
|
||||
return current!=player;
|
||||
})>1;
|
||||
},
|
||||
|
@ -784,6 +783,69 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filterOk:function(){
|
||||
return ui.selected.targets.length==ui.selected.cards.length+1;
|
||||
},
|
||||
check:function(card){
|
||||
let player=get.owner(card),targets=lib.skill.sblijian.selectTargetAi(_status.event,player);
|
||||
if(ui.selected.cards.length<targets-1){
|
||||
if(player.hasSkill('sbbiyue')) return 4*targets-get.value(card);
|
||||
return 6+targets-get.value(card);
|
||||
}
|
||||
return 0;
|
||||
},
|
||||
selectTargetAi:function(event,player){
|
||||
let cache=_status.event.getTempCache('sblijian','targets');
|
||||
if(Array.isArray(cache)) return cache.length;
|
||||
let id=[null,0],players=game.filterPlayer(current=>current!==player),temp;
|
||||
for(let i of players){
|
||||
temp=get.attitude(event.player,i);
|
||||
if(temp<id[1]) id=[i,temp];
|
||||
}
|
||||
if(id[0]) id=id[0].identity;
|
||||
else{
|
||||
event.putTempCache('sblijian','targets',[]);
|
||||
return 0;
|
||||
}
|
||||
let target=[null,0],targets=[],vp=player.getEnemies();
|
||||
if(vp.length>1){
|
||||
let list=[game.createCard('sha'),game.createCard('shan')];
|
||||
vp=ui.create.player().init('sunce');
|
||||
vp.hp=2;
|
||||
vp.skills=[];
|
||||
game.players.push(vp);
|
||||
if(typeof id==='string'){
|
||||
if(id.endsWith('zhu')||id.endsWith('Zhu')) id=id.slice(0,-1)+'ong';
|
||||
vp.identity=id;
|
||||
vp.showIdentity();
|
||||
}
|
||||
else vp.side=id[0].side;
|
||||
vp.directgain(list,false);
|
||||
for(let i of players){
|
||||
temp=get.effect(i,{name:'juedou',isCard:true},vp,event.player)+get.effect(vp,{name:'juedou',isCard:true},i,event.player);
|
||||
if(temp>=0) targets.push([i,temp]);
|
||||
}
|
||||
game.cardsGotoSpecial(list);
|
||||
game.players.remove(vp);
|
||||
}
|
||||
else{
|
||||
vp=vp[0];
|
||||
for(let i of players){
|
||||
temp=get.effect(i,{name:'juedou',isCard:true},vp,event.player)+get.effect(vp,{name:'juedou',isCard:true},i,event.player);
|
||||
if(temp>=0) targets.push([i,temp]);
|
||||
}
|
||||
}
|
||||
for(let i=0;i<targets.length;i++){
|
||||
temp=get.attitude(player,targets[i][0]);
|
||||
if(temp>0&&targets[i][1]<2.5*temp&&targets.length>2) targets.splice(i--,1);
|
||||
else targets[i].push(temp);
|
||||
}
|
||||
targets.sort((a,b)=>{
|
||||
let att1=get.sgn(get.attitude(event.player,a[0])),att2=get.sgn(get.attitude(event.player,b[0]));
|
||||
if(att1!==att2) return att1-att2;
|
||||
return b[1]-a[1];
|
||||
});
|
||||
targets=targets.slice(0,player.countCards('he')+1);
|
||||
event.putTempCache('sblijian','targets',targets);
|
||||
return targets.length;
|
||||
},
|
||||
multiline:true,
|
||||
content:function(){
|
||||
var targetx=targets.slice().sortBySeat(target)[1];
|
||||
|
@ -793,7 +855,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
threaten:3,
|
||||
order:7,
|
||||
result:{target:-1}
|
||||
result:{
|
||||
player:function(player,target){
|
||||
let targets=_status.event.getTempCache('sblijian','targets');
|
||||
if(!Array.isArray(targets)) return 0;
|
||||
if(targets.length>2&&!player.hasSkill('sbbiyue')) return 0;
|
||||
for(let i=0;i<targets.length;i++){
|
||||
if(target===targets[i][0]&&targets[i][2]===0) return 1;
|
||||
}
|
||||
return 0;
|
||||
},
|
||||
target:function(player,target){
|
||||
let targets=_status.event.getTempCache('sblijian','targets');
|
||||
if(Array.isArray(targets)){
|
||||
for(let i=0;i<targets.length;i++){
|
||||
if(target===targets[i][0]){
|
||||
if(targets[i][2]>0) return targets[i][1]/5;
|
||||
return -targets[i][1];
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
if(ui.selected.targets.length){
|
||||
let tars=ui.selected.targets.concat([target]).sortBySeat();
|
||||
for(let i=0;i<tars.length;i++){
|
||||
if(target!==tars[i]) continue;
|
||||
let eff;
|
||||
if(i===0) eff=get.effect(target,{name:'juedou',isCard:true},tars[tars.length-1],target);
|
||||
else eff=get.effect(target,{name:'juedou',isCard:true},tars[i-1],target);
|
||||
if(i===tars.length-1) eff+=get.effect(tars[i-1],{name:'juedou',isCard:true},target,target);
|
||||
else eff+=get.effect(tars[0],{name:'juedou',isCard:true},target,target);
|
||||
return eff;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
sbbiyue:{
|
||||
|
@ -4583,6 +4680,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
translate:{
|
||||
sb_zhanghe_prefix:'谋',
|
||||
sb_yujin_prefix:'谋',
|
||||
sb_huaxiong_prefix:'谋',
|
||||
liucheng_prefix:'谋',
|
||||
sp_yangwan_prefix:'谋',
|
||||
sb_huangzhong_prefix:'谋',
|
||||
sb_lvmeng_prefix:'谋',
|
||||
sb_sunshangxiang_prefix:'谋',
|
||||
sb_sunquan_prefix:'谋',
|
||||
sb_huanggai_prefix:'谋',
|
||||
sb_zhouyu_prefix:'谋',
|
||||
sb_caoren_prefix:'谋',
|
||||
sb_xiahoushi_prefix:'谋',
|
||||
sb_zhangjiao_prefix:'谋',
|
||||
sb_caocao_prefix:'谋',
|
||||
sb_zhenji_prefix:'谋',
|
||||
sb_ganning_prefix:'谋',
|
||||
sb_machao_prefix:'谋',
|
||||
sb_xuhuang_prefix:'谋',
|
||||
sb_zhangfei_prefix:'谋',
|
||||
sb_zhaoyun_prefix:'谋',
|
||||
sb_liubei_prefix:'谋',
|
||||
sb_jiangwei_prefix:'谋',
|
||||
sb_fazheng_prefix:'谋',
|
||||
sb_chengong_prefix:'谋',
|
||||
sb_diaochan_prefix:'谋',
|
||||
sb_yuanshao_prefix:'谋',
|
||||
sb_pangtong_prefix:'谋',
|
||||
sb_sunce_prefix:'谋',
|
||||
sb_daqiao_prefix:'谋',
|
||||
sb_liubiao_prefix:'谋',
|
||||
sb_zhurong_prefix:'谋',
|
||||
sb_menghuo_prefix:'谋',
|
||||
sp_yangwan:'谋杨婉',
|
||||
spmingxuan:'瞑昡',
|
||||
spmingxuan_info:'锁定技。出牌阶段开始时,你须选择至多X张花色各不相同的手牌(X为未选择过选项一的角色),将这些牌随机交给这些角色中的等量角色。然后这些角色依次选择一项:⒈对你使用一张【杀】。⒉交给你一张牌,然后你摸一张牌。',
|
||||
|
|
|
@ -958,6 +958,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
trigger.getParent().excluded.add(player);
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
let hs=player.getCards('h',i=>i!==card&&(!card.cards||!card.cards.contains(i))),num=player.getCardUsable('sha');
|
||||
if(card.name!=='sha'&&card.name!=='juedou'||hs.length<target.countCards('h')) return 1;
|
||||
if(game.hasPlayer2(function(current){
|
||||
return current.getHistory('useCard',function(evt){
|
||||
return evt.card&&['sha','juedou'].includes(evt.card.name)&&evt.targets.includes(player);
|
||||
}).length>0;
|
||||
})) return 1;
|
||||
if(card.name==='sha') num--;
|
||||
hs=hs.filter(i=>{
|
||||
if(i.name==='juedou') return true;
|
||||
if(num&&i.name==='sha'){
|
||||
num--;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
if(!hs.length) return 'zeroplayertarget';
|
||||
num=1-2/3/hs.length;
|
||||
return [num,0,num,0];
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"drlt_qianjie":{
|
||||
group:["drlt_qianjie_1","drlt_qianjie_2","drlt_qianjie_3"],
|
||||
|
@ -3312,19 +3337,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
target_use:function(card,player,target,current){
|
||||
if(card.name=='sha'&&get.attitude(player,target)<0){
|
||||
if(_status.event.name=='xiangle') return;
|
||||
if(get.attitude(player,target)>0&¤t<0) return 'zerotarget';
|
||||
var bs=player.getCards('h',{type:'basic'});
|
||||
if(bs.length<2) return 0;
|
||||
bs.remove(card);
|
||||
if(card.cards) bs.removeArray(card.cards);
|
||||
else bs.removeArray(ui.selected.cards);
|
||||
if(!bs.length) return 'zerotarget';
|
||||
if(player.hasSkill('jiu')||player.hasSkill('tianxianjiu')) return;
|
||||
if(bs.length<=3&&player.countCards('h','sha')<=1){
|
||||
if(bs.length<=2){
|
||||
for(var i=0;i<bs.length;i++){
|
||||
if(bs[i].name!='sha'&&get.value(bs[i])<7){
|
||||
if(get.value(bs[i])<7){
|
||||
return [1,0,1,-0.5];
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return [1,0,0.3,0];
|
||||
}
|
||||
return [1,0,1,-0.5];
|
||||
}
|
||||
|
@ -4234,15 +4263,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
lib.skill.pingjian.initList();
|
||||
}
|
||||
_status.characterlist.randomSort();
|
||||
var bool=false;
|
||||
for(var i=0;i<_status.characterlist.length;i++){
|
||||
var name=_status.characterlist[i];
|
||||
if(name.indexOf('zuoci')!=-1||name.indexOf('key')==0||lib.skill.rehuashen.banned.contains(name)||player.storage.huashen.owned[name]) continue;
|
||||
var skills=lib.character[name][3];
|
||||
for(var j=0;j<skills.length;j++){
|
||||
var info=lib.skill[skills[j]];
|
||||
if(info.charlotte||(info.unique&&!info.gainable)||info.juexingji||info.limited||info.zhuSkill||info.hiddenSkill||info.dutySkill) skills.splice(j--,1);
|
||||
}
|
||||
let name=_status.characterlist[i];
|
||||
if(name.indexOf('zuoci')!=-1||name.indexOf('key_')==0||name.indexOf('sp_key_')==0||lib.skill.rehuashen.banned.includes(name)||player.storage.huashen.owned[name]) continue;
|
||||
let skills=lib.character[name][3].filter(skill=>{
|
||||
const categories=get.skillCategoriesOf(skill);
|
||||
return !categories.some(type=>lib.skill.rehuashen.bannedType.includes(type));
|
||||
})
|
||||
if(skills.length){
|
||||
player.storage.huashen.owned[name]=skills;
|
||||
_status.characterlist.remove(name);
|
||||
|
@ -7681,45 +7708,45 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
characterReplace:{
|
||||
caoren:['caoren','new_caoren','old_caoren'],
|
||||
caoren:['caoren','old_caoren','sb_caoren','new_caoren'],
|
||||
sp_caoren:['sp_caoren','jsp_caoren'],
|
||||
xiahouyuan:['ol_xiahouyuan','re_xiahouyuan','xiahouyuan'],
|
||||
huangzhong:['ol_huangzhong','re_huangzhong','huangzhong'],
|
||||
weiyan:['ol_weiyan','re_weiyan','weiyan'],
|
||||
xiahouyuan:['re_xiahouyuan','ol_xiahouyuan','xiahouyuan'],
|
||||
huangzhong:['re_huangzhong','ol_huangzhong','sb_huangzhong','huangzhong'],
|
||||
weiyan:['re_weiyan','ol_weiyan','weiyan'],
|
||||
zhoutai:['zhoutai','xin_zhoutai','old_zhoutai'],
|
||||
xiaoqiao:['ol_xiaoqiao','re_xiaoqiao','xiaoqiao','old_xiaoqiao'],
|
||||
xiaoqiao:['xiaoqiao','ol_xiaoqiao','re_xiaoqiao','old_xiaoqiao'],
|
||||
yuji:['xin_yuji','re_yuji','yuji'],
|
||||
zhangjiao:['re_zhangjiao','sp_zhangjiao','zhangjiao'],
|
||||
dianwei:['ol_dianwei','re_dianwei','dianwei'],
|
||||
xunyu:['ol_xunyu','re_xunyu','xunyu'],
|
||||
sp_zhugeliang:['ol_sp_zhugeliang','re_sp_zhugeliang','sp_zhugeliang'],
|
||||
pangtong:['ol_pangtong','re_pangtong','pangtong'],
|
||||
zhangjiao:['sp_zhangjiao','re_zhangjiao','sb_zhangjiao','zhangjiao'],
|
||||
dianwei:['dianwei','ol_dianwei','re_dianwei'],
|
||||
xunyu:['xunyu','ol_xunyu','re_xunyu'],
|
||||
sp_zhugeliang:['sp_zhugeliang','ol_sp_zhugeliang','re_sp_zhugeliang'],
|
||||
pangtong:['pangtong','ol_pangtong','re_pangtong','sb_pangtong'],
|
||||
re_jsp_pangtong:['re_jsp_pangtong','sp_pangtong'],
|
||||
taishici:['re_taishici','taishici'],
|
||||
re_yuanshao:['ol_yuanshao','re_yuanshao','xin_yuanshao'],
|
||||
pangde:['ol_pangde','re_pangde','pangde'],
|
||||
yanwen:['ol_yanwen','re_yanwen','yanwen'],
|
||||
taishici:['taishici','re_taishici'],
|
||||
re_yuanshao:['re_yuanshao','ol_yuanshao','xin_yuanshao','sb_yuanshao'],
|
||||
pangde:['re_pangde','ol_pangde','pangde'],
|
||||
yanwen:['yanwen','ol_yanwen','re_yanwen'],
|
||||
caopi:['caopi','re_caopi','ps_caopi'],
|
||||
xuhuang:['ol_xuhuang','re_xuhuang','xuhuang'],
|
||||
menghuo:['re_menghuo','menghuo'],
|
||||
zhurong:['re_zhurong','ol_zhurong','zhurong'],
|
||||
sunjian:['ol_sunjian','re_sunjian','sunjian'],
|
||||
jiaxu:['re_jiaxu','jiaxu','ns_jiaxu','ps_jiaxu'],
|
||||
dongzhuo:['ol_dongzhuo','sp_dongzhuo','re_dongzhuo','dongzhuo','yj_dongzhuo'],
|
||||
dengai:['re_dengai','ol_dengai','dengai'],
|
||||
xuhuang:['re_xuhuang','ol_xuhuang','sb_xuhuang','xuhuang'],
|
||||
menghuo:['menghuo','re_menghuo','sb_menghuo'],
|
||||
zhurong:['zhurong','ol_zhurong','re_zhurong','sb_zhurong'],
|
||||
sunjian:['sunjian','ol_sunjian','re_sunjian'],
|
||||
jiaxu:['jiaxu','re_jiaxu','ns_jiaxu','ps_jiaxu'],
|
||||
dongzhuo:['dongzhuo','ol_dongzhuo','re_dongzhuo','sp_dongzhuo','yj_dongzhuo'],
|
||||
dengai:['dengai','ol_dengai','re_dengai'],
|
||||
sp_ol_zhanghe:['sp_ol_zhanghe','yj_zhanghe','sp_zhanghe','jsrg_zhanghe'],
|
||||
jiangwei:['ol_jiangwei','re_jiangwei','jiangwei'],
|
||||
liushan:['ol_liushan','re_liushan','liushan'],
|
||||
sunce:['re_sunben','re_sunce','sunce'],
|
||||
zhangzhang:['ol_zhangzhang','re_zhangzhang','zhangzhang'],
|
||||
zuoci:['re_zuoci','zuoci'],
|
||||
caiwenji:['ol_caiwenji','re_caiwenji','caiwenji'],
|
||||
xuyou:['sp_xuyou','xuyou','jsrg_xuyou','yj_xuyou','junk_xuyou'],
|
||||
guanqiujian:['guanqiujian','tw_guanqiujian','re_guanqiujian','old_guanqiujian'],
|
||||
chendao:['chendao','old_chendao','ns_chendao'],
|
||||
jiangwei:['jiangwei','ol_jiangwei','re_jiangwei','sb_jiangwei'],
|
||||
liushan:['liushan','ol_liushan','re_liushan'],
|
||||
sunce:['sunce','re_sunce','re_sunben','sb_sunce'],
|
||||
zhangzhang:['zhangzhang','ol_zhangzhang','re_zhangzhang'],
|
||||
zuoci:['zuoci','re_zuoci'],
|
||||
caiwenji:['caiwenji','ol_caiwenji','re_caiwenji'],
|
||||
xuyou:['xuyou','sp_xuyou','jsrg_xuyou','yj_xuyou','junk_xuyou'],
|
||||
guanqiujian:['guanqiujian','re_guanqiujian','tw_guanqiujian','old_guanqiujian'],
|
||||
chendao:['chendao','ns_chendao','old_chendao'],
|
||||
zhugezhan:['zhugezhan','old_zhugezhan'],
|
||||
ol_lusu:['ol_lusu','re_lusu'],
|
||||
zhanghe:['re_zhanghe','zhanghe'],
|
||||
ol_lusu:['re_lusu','ol_lusu'],
|
||||
zhanghe:['zhanghe','re_zhanghe','sb_zhanghe'],
|
||||
yl_luzhi:['yl_luzhi','tw_yl_luzhi'],
|
||||
sunliang:['sunliang','xin_sunliang'],
|
||||
},
|
||||
|
@ -7739,8 +7766,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"zhugezhan":"诸葛瞻",
|
||||
"lukang":"陆抗",
|
||||
"haozhao":"郝昭",
|
||||
"yl_yuanshu":"雷袁术",
|
||||
yl_yuanshu_ab:"袁术",
|
||||
yl_yuanshu:"新杀袁术",
|
||||
yl_yuanshu_prefix:"新杀",
|
||||
"zhangxiu":"张绣",
|
||||
"chendao":"陈到",
|
||||
"guanqiujian":"毌丘俭",
|
||||
|
@ -7921,6 +7948,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caopi:'曹丕',
|
||||
re_xuhuang:'徐晃',
|
||||
lusu:'旧鲁肃',
|
||||
lusu_prefix:'旧',
|
||||
sunjian:'孙坚',
|
||||
dongzhuo:'董卓',
|
||||
jiaxu:'贾诩',
|
||||
|
@ -7980,6 +8008,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
taishici:'太史慈',
|
||||
yanwen:'颜良文丑',
|
||||
yuanshao:'旧袁绍',
|
||||
yuanshao_prefix:'旧',
|
||||
re_pangde:'庞德',
|
||||
huoji:'火计',
|
||||
bazhen:'八阵',
|
||||
|
@ -8037,15 +8066,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
old_zhoutai:'周泰',
|
||||
old_caoren:'曹仁',
|
||||
xuhuang:'旧徐晃',
|
||||
xuhuang_prefix:'旧',
|
||||
pangde:'旧庞德',
|
||||
pangde_prefix:'旧',
|
||||
xiahouyuan:'旧夏侯渊',
|
||||
caoren:'界曹仁',
|
||||
xiahouyuan_prefix:'旧',
|
||||
huangzhong:'旧黄忠',
|
||||
huangzhong_prefix:'旧',
|
||||
sp_zhangjiao:'张角',
|
||||
weiyan:'旧魏延',
|
||||
weiyan_prefix:'旧',
|
||||
xiaoqiao:'小乔',
|
||||
zhoutai:'界周泰',
|
||||
zhangjiao:'旧张角',
|
||||
zhangjiao_prefix:'旧',
|
||||
//yuji:'于吉',
|
||||
shensu:'神速',
|
||||
shensu1:'神速',
|
||||
|
|
|
@ -1399,7 +1399,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
order:9,
|
||||
result:{player:1},
|
||||
},
|
||||
group:'shanxie_exclude',
|
||||
group:['shanxie_exclude','shanxie_shan'],
|
||||
subSkill:{
|
||||
exclude:{
|
||||
trigger:{global:'useCard'},
|
||||
|
@ -1414,6 +1414,48 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
trigger.all_excluded=true;
|
||||
},
|
||||
sub:true
|
||||
},
|
||||
shan:{
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
return event.target.isAlive()&&event.card.name=='sha';
|
||||
},
|
||||
silent:true,
|
||||
content:function(){
|
||||
trigger.target.addTempSkill('shanxie_banned');
|
||||
trigger.target.storage.shanxie_banned={
|
||||
card:trigger.card,
|
||||
num:player.getAttackRange()*2
|
||||
};
|
||||
},
|
||||
sub:true
|
||||
},
|
||||
banned:{
|
||||
init:function(player){
|
||||
player.storage.shanxie_banned={};
|
||||
},
|
||||
onremove:function(player){
|
||||
delete player.storage.shanxie_banned;
|
||||
},
|
||||
trigger:{global:'useCardEnd'},
|
||||
filter:function(event,player){
|
||||
return event.card==player.storage.shanxie_banned.card;
|
||||
},
|
||||
silent:true,
|
||||
content:function(){
|
||||
player.removeSkill('shanxie_banned');
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
player:function(card,player,target){
|
||||
if(get.name(card)=='shan'){
|
||||
let num=get.number(card);
|
||||
if(!num||num<=player.storage.shanxie_banned.num) return 'zeroplayertarget';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -2236,7 +2278,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
//特殊处理
|
||||
if(player.isDead()){
|
||||
player.useResult(event.result,event.getParent())
|
||||
player.useResult(event.result,event.getParent()).forceDie=true;
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -5808,6 +5850,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
spshanxi:{
|
||||
audio:2,
|
||||
init:function(player){
|
||||
game.addGlobalSkill('spshanxi_bj');
|
||||
},
|
||||
onremove:function(player){
|
||||
game.removeGlobalSkill('spshanxi_bj');
|
||||
},
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
|
@ -5867,6 +5915,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else trigger.player.give(result.cards,player);
|
||||
},
|
||||
},
|
||||
spshanxi_bj:{
|
||||
trigger:{player:'dieAfter'},
|
||||
filter:function(event,player){
|
||||
for(let i of game.players){
|
||||
if(i.hasSkill('spshanxi_suoming')) return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
silent:true,
|
||||
forceDie:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
game.removeGlobalSkill('spshanxi_bj');
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
let suoming=game.findPlayer(current=>current.hasSkill('spshanxi_suoming'));
|
||||
if(suoming&&_status.event&&target===_status.event.dying&&target.hasMark('spshanxi')){
|
||||
if(target.countCards('he')<2) return 'zerotarget';
|
||||
return [1,get.attitude(target,suoming)>0?0:-1.2];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
shameng:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
|
@ -6300,30 +6374,55 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wujing:['sunce','sunben','wuguotai'],
|
||||
},
|
||||
characterReplace:{
|
||||
wangcan:['tw_wangcan','wangcan','sp_wangcan'],
|
||||
sunshao:['sp_sunshao','sunshao'],
|
||||
xunchen:['re_xunchen','xunchen','tw_xunchen','sp_xunchen'],
|
||||
wangcan:['wangcan','sp_wangcan','tw_wangcan'],
|
||||
sunshao:['sunshao','sp_sunshao'],
|
||||
xunchen:['xunchen','re_xunchen','sp_xunchen','tw_xunchen'],
|
||||
xinpi:['xinpi','sp_xinpi'],
|
||||
duyu:['duyu','dc_duyu','sp_duyu','pk_sp_duyu'],
|
||||
zhangwen:['sp_zhangwen','zhangwen'],
|
||||
ol_bianfuren:['ol_bianfuren','tw_bianfuren','sp_bianfuren'],
|
||||
zhangwen:['zhangwen','sp_zhangwen'],
|
||||
ol_bianfuren:['ol_bianfuren','sp_bianfuren','tw_bianfuren'],
|
||||
wangshuang:['wangshuang','sp_wangshuang'],
|
||||
huaman:['huaman','sp_huaman'],
|
||||
gaolan:['dc_gaolan','gaolan','sp_gaolan'],
|
||||
cuiyan:['sp_cuiyan','cuiyan'],
|
||||
wujing:['tw_wujing','wujing'],
|
||||
gaolan:['gaolan','dc_gaolan','sp_gaolan'],
|
||||
cuiyan:['cuiyan','sp_cuiyan'],
|
||||
wujing:['wujing','tw_wujing'],
|
||||
zhouchu:['jin_zhouchu','zhouchu','tw_zhouchu'],
|
||||
liuzhang:['liuzhang','tw_liuzhang'],
|
||||
chenzhen:['tw_chenzhen','sp_chenzhen'],
|
||||
feiyi:['tw_feiyi','feiyi'],
|
||||
wangling:['tw_wangling','wangling'],
|
||||
qiaogong:['tw_qiaogong','qiaogong'],
|
||||
sp_chendong:['tw_chendong','sp_chendong','chendong'],
|
||||
sp_jiangqing:['tw_jiangqing','sp_jiangqing','jiangqing'],
|
||||
chenzhen:['sp_chenzhen','tw_chenzhen'],
|
||||
feiyi:['feiyi','tw_feiyi'],
|
||||
wangling:['wangling','tw_wangling'],
|
||||
qiaogong:['qiaogong','tw_qiaogong'],
|
||||
sp_chendong:['sp_chendong','tw_chendong','chendong'],
|
||||
sp_jiangqing:['sp_jiangqing','tw_jiangqing','jiangqing'],
|
||||
kongrong:['sp_kongrong','jsrg_kongrong','kongrong'],
|
||||
mifuren:['dc_mifuren','sp_mifuren'],
|
||||
dc_mifuren:['dc_mifuren','sp_mifuren'],
|
||||
},
|
||||
translate:{
|
||||
liuba_prefix:'手杀',
|
||||
sp_zhujun_prefix:'手杀',
|
||||
sp_huangfusong_prefix:'手杀',
|
||||
sp_zhangchangpu_prefix:'手杀',
|
||||
sp_cuiyan_prefix:'手杀',
|
||||
sp_huaman_prefix:'手杀',
|
||||
sp_gaolan_prefix:'手杀',
|
||||
sunyi_prefix:'手杀',
|
||||
sp_wangshuang_prefix:'手杀',
|
||||
sp_zongyu_prefix:'手杀',
|
||||
db_wenyang_prefix:'手杀',
|
||||
sp_yanghu_prefix:'手杀',
|
||||
sp_zhangwen_prefix:'手杀',
|
||||
sp_xujing_prefix:'手杀',
|
||||
sp_huaxin_prefix:'手杀',
|
||||
zhouchu_prefix:'手杀',
|
||||
sp_mifuren_prefix:'手杀',
|
||||
sp_xinpi_prefix:'手杀',
|
||||
sp_bianfuren_prefix:'手杀',
|
||||
sp_duyu_prefix:'手杀',
|
||||
luotong_prefix:'手杀',
|
||||
sp_wangcan_prefix:'手杀',
|
||||
sp_sunshao_prefix:'手杀',
|
||||
sp_xunchen_prefix:'手杀',
|
||||
|
||||
sp_wangcan:'手杀王粲',
|
||||
spqiai:'七哀',
|
||||
spqiai_info:'出牌阶段限一次,你可以将一张非基本牌交给一名其他角色。然后其选择一项:①你回复1点体力。②你摸两张牌。',
|
||||
|
@ -6525,7 +6624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dbquedi:'却敌',
|
||||
dbquedi_info:'每回合限一次。当你使用【杀】或【决斗】指定唯一目标后,你可选择:①获得目标角色的一张手牌。②弃置一张基本牌,并令此牌的伤害值基数+1。③背水:减1点体力上限,然后依次执行上述所有选项。',
|
||||
dbzhuifeng:'椎锋',
|
||||
dbzhuifeng_info:'魏势力技。每回合限两次,你可以失去1点体力并视为使用一张【决斗】。当你因此【决斗】而受到伤害时,你防止此伤害并令此技能失效直到出牌阶段结束。',
|
||||
dbzhuifeng_info:'魏势力技。每回合限两次,你可以失去1点体力并视为使用一张【决斗】(你死亡后仍然结算)。当你因此【决斗】而受到伤害时,你防止此伤害并令此技能失效直到出牌阶段结束。',
|
||||
dbchongjian:'冲坚',
|
||||
dbchongjian_backup:'冲坚',
|
||||
dbchongjian_info:'吴势力技。你可以将一张装备牌当做一种【杀】(无距离限制且无视防具)或【酒】使用。当你以此法使用【杀】造成伤害后,你获得目标角色装备区内的X张牌(X为伤害值)。',
|
||||
|
|
248
character/sp.js
248
character/sp.js
|
@ -8,7 +8,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren","qinghegongzhu","tengfanglan","ruiji",'caoxiancaohua'],
|
||||
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu','wangyan','xiahouxuan','quhuang','zhanghua','wangguan','sunhong','caoxi'],
|
||||
sp_tianzhu:['niujin','hejin','hansui',"wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun","fanjiangzhangda","ahuinan","dongtuna",'ol_wenqin'],
|
||||
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao","jin_guohuai"],
|
||||
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu',"daxiaoqiao","jin_guohuai"],
|
||||
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','zhangzhi','lushi'],
|
||||
sp_huben:['duanjiong','ol_mengda',"caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng","wuyan","ol_zhuling","tianyu","huojun",'zhaoyǎn','dengzhong','ol_furong','macheng','ol_zhangyì','ol_zhujun','maxiumatie','luoxian','ol_huban','haopu','ol_qianzhao'],
|
||||
sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'],
|
||||
|
@ -100,7 +100,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
huangchengyan:['male','qun',3,['guanxu','yashi']],
|
||||
huangzu:['male','qun',4,['wangong']],
|
||||
panshu:['female','wu',3,['weiyi','jinzhi']],
|
||||
ol_xinxianying:['female','wei',3,['xincaishi','xinzhongjian']],
|
||||
wolongfengchu:['male','shu',4,['youlong','luanfeng']],
|
||||
sp_zhangliao:['male','qun',4,['mubing','ziqu','diaoling']],
|
||||
caoshuang:['male','wei',4,['retuogu','shanzhuan']],
|
||||
|
@ -946,7 +945,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.finish();
|
||||
}
|
||||
else player.draw(3);
|
||||
'step 2'
|
||||
'step 1'
|
||||
player.chooseToDiscard('h','技能:弃置至少一半手牌',[Math.floor(player.countCards('h')/2),Infinity],true).set('ai',card=>{
|
||||
var player=_status.event.player;
|
||||
if(player.hasSkill('skill_feiyi_B')&&player.countCards('h')-ui.selected.cards.length>1) return 1/(get.value(card)||0.5);
|
||||
|
@ -4168,7 +4167,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return player.countCards('hes')>1;
|
||||
},
|
||||
check:function(card){
|
||||
return 0;
|
||||
var player = _status.event.player;
|
||||
if(game.countPlayer(function (current) {
|
||||
return current != player && player.canUse('sha', current) && get.effect(current, {name: 'sha'}, player, player) > 0;
|
||||
}) <= ui.selected.cards.length) return 0;
|
||||
if(_status.event.player.countCards('hes') >= 3) return 8 - ui.selected.cards.length - get.value(card);
|
||||
return 6 - ui.selected.cards.length - get.value(card);
|
||||
},
|
||||
position:'hes',
|
||||
viewAs:{
|
||||
|
@ -4179,7 +4183,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.addTempSkill('rekenshang_effect');
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
order:function(item,player){
|
||||
if(player.countCards('hes') >= 3) return 6;
|
||||
return 4;
|
||||
},
|
||||
result:{
|
||||
target:function(player,target,card,isLink){
|
||||
var eff = function () {
|
||||
if(!isLink && player.hasSkill('jiu')) {
|
||||
if(!target.hasSkillTag('filterDamage', null, {
|
||||
player: player,
|
||||
card: card,
|
||||
jiu: true
|
||||
})){
|
||||
if(get.attitude(player, target) > 0) return -7;
|
||||
return -4;
|
||||
}
|
||||
return -0.5;
|
||||
}
|
||||
return -1.5;
|
||||
}();
|
||||
if(!isLink && target.mayHaveShan() && !player.hasSkillTag('directHit_ai', true, {
|
||||
target: target,
|
||||
card: card
|
||||
}, true)) return eff / 1.2;
|
||||
return eff;
|
||||
}
|
||||
},
|
||||
respondSha:true,
|
||||
skillTagFilter:player=>player.countCards('hes')>1,
|
||||
},
|
||||
|
@ -6944,25 +6974,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
init:function(player,name){
|
||||
player.storage[name]=[1,2,3,4];
|
||||
},
|
||||
trigger:{player:'phaseBegin'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
trigger._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0);
|
||||
player.storage.shanduan=[1,2,3,4]
|
||||
},
|
||||
group:['shanduan_draw','shanduan_use','shanduan_discard','shanduan_damage'],
|
||||
ai:{
|
||||
notemp:true,
|
||||
threaten:3.6,
|
||||
},
|
||||
subSkill:{
|
||||
damage:{
|
||||
audio:'shanduan',
|
||||
trigger:{player:'damageEnd'},
|
||||
filter:(event,player)=>player!=_status.currentPhase,
|
||||
forced:true,
|
||||
locked:false,
|
||||
filter:(event,player)=>player!=_status.currentPhase,
|
||||
content:function(){
|
||||
if(!player.storage.shanduan) player.storage.shanduan=[1,2,3,4];
|
||||
var list=player.storage.shanduan;
|
||||
|
@ -6981,7 +6996,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
game.delayx();
|
||||
},
|
||||
group:['shanduan_draw','shanduan_use','shanduan_discard'],
|
||||
ai:{
|
||||
notemp:true,
|
||||
threaten:3.6,
|
||||
},
|
||||
subSkill:{
|
||||
draw:{
|
||||
audio:'shanduan',
|
||||
trigger:{player:'phaseDrawBegin'},
|
||||
|
@ -6989,14 +7009,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
locked:false,
|
||||
filter:function(event,player){
|
||||
var list=event.getParent()._shanduan;
|
||||
return list&&list.length>0;
|
||||
return !list||list.length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
if(!list){
|
||||
trigger.getParent()._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0);
|
||||
player.storage.shanduan=[1,2,3,4];
|
||||
}
|
||||
'step 1'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
if(list.length==1) event._result={index:0};
|
||||
else player.chooseControl(list).set('prompt','善断:为摸牌阶段的摸牌数分配一个数值').set('choice',list.indexOf(Math.max.apply(Math,list))).set('ai',()=>_status.event.choice);
|
||||
'step 1'
|
||||
'step 2'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
var num=list[result.index];
|
||||
trigger.num=num;
|
||||
|
@ -7011,11 +7037,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
locked:false,
|
||||
filter:function(event,player){
|
||||
var list=event.getParent()._shanduan;
|
||||
return list&&list.length>0;
|
||||
return !list||list.length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
if(!list){
|
||||
trigger.getParent()._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0);
|
||||
player.storage.shanduan=[1,2,3,4];
|
||||
}
|
||||
'step 1'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
if(list.length==1) event._result={index:0};
|
||||
else player.chooseControl(list).set('prompt','善断:为攻击范围基数分配一个数值').set('list',list).set('ai',function(){
|
||||
var player=_status.event.player,list=_status.event.list,card={name:'sha'};
|
||||
|
@ -7041,7 +7073,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return list.indexOf(Math.min.apply(Math,list));
|
||||
});
|
||||
'step 1'
|
||||
'step 2'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
var num=list[result.index];
|
||||
if(!player.storage.shanduan_effect) player.storage.shanduan_effect={};
|
||||
|
@ -7066,7 +7098,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
return list.indexOf(Math.min.apply(Math,list));
|
||||
});
|
||||
'step 2'
|
||||
'step 3'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
var num=list[result.index];
|
||||
if(!player.storage.shanduan_effect) player.storage.shanduan_effect={};
|
||||
|
@ -7082,14 +7114,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
locked:false,
|
||||
filter:function(event,player){
|
||||
var list=event.getParent()._shanduan;
|
||||
return list&&list.length>0;
|
||||
return !list||list.length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
if(!list){
|
||||
trigger.getParent()._shanduan=(player.storage.shanduan||[1,2,3,4]).slice(0);
|
||||
player.storage.shanduan=[1,2,3,4];
|
||||
}
|
||||
'step 1'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
if(list.length==1) event._result={index:0};
|
||||
else player.chooseControl(list).set('prompt','善断:为手牌上限基数分配一个数值').set('choice',list.indexOf(Math.max.apply(Math,list))).set('ai',()=>_status.event.choice);
|
||||
'step 1'
|
||||
'step 2'
|
||||
var list=trigger.getParent()._shanduan;
|
||||
var num=list[result.index];
|
||||
if(!player.storage.shanduan_effect) player.storage.shanduan_effect={};
|
||||
|
@ -10084,6 +10122,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return true;
|
||||
},
|
||||
prompt2:'令其交给你一张手牌,并根据类型获得对应的标记',
|
||||
check:function(event,player){
|
||||
return get.attitude(_status.event.player,event.player)>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.target=trigger.player;
|
||||
|
@ -13362,31 +13403,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
threaten:1.8,
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(player!=target||!player.isPhaseUsing()) return;
|
||||
let used=(target.getHistory('useCard').length+target.getHistory('respond').length);
|
||||
if(get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')){
|
||||
var range0=player.getAttackRange();
|
||||
var range=0;
|
||||
var info=get.info(card);
|
||||
if(player!=target||!player.isPhaseUsing()) return;
|
||||
let range0=player.getAttackRange();
|
||||
let range=0;
|
||||
let info=get.info(card);
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
range-=info.distance.attackFrom;
|
||||
}
|
||||
if(player.getEquip(1)){
|
||||
var num=0;
|
||||
var info=get.info(player.getEquip(1));
|
||||
let num=0;
|
||||
let info=get.info(player.getEquip(1));
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
num-=info.distance.attackFrom;
|
||||
}
|
||||
range0-=num;
|
||||
}
|
||||
range0+=range;
|
||||
var delta=range0-(player.getHistory('useCard').length+player.getHistory('respond').length);
|
||||
let delta=range0-used;
|
||||
if(delta<0) return;
|
||||
var num=player.countCards('h',function(card){
|
||||
let num=player.countCards('h',function(card){
|
||||
return (get.cardtag(card,'gifts')||get.subtype(card)!='equip1')&&player.getUseValue(card)>0;
|
||||
});
|
||||
if(delta==2&&num>0) return [1,3];
|
||||
if(num>=delta) return 'zeroplayertarget';
|
||||
}
|
||||
else if(get.tag(card,'respondShan')>0){
|
||||
if(current<0&&used==target.getAttackRange()-1&&target.mayHaveShan()){
|
||||
return 0.6;
|
||||
}
|
||||
}
|
||||
else if(get.tag(card,'respondSha')>0){
|
||||
if(current<0&&used==target.getAttackRange()-1&&target.mayHaveSha()){
|
||||
return 0.6;
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -19348,7 +19400,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(card.name=='sha'){
|
||||
if(card.hasNature('fire')||player.hasSkill('zhuque_skill')) return 2;
|
||||
if(game.hasNature(card,'fire')||player.hasSkill('zhuque_skill')) return 2;
|
||||
}
|
||||
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
||||
}
|
||||
|
@ -19374,7 +19426,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hanyong:{
|
||||
trigger:{player:'useCard'},
|
||||
filter:function(event,player){
|
||||
return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&!event.card.hasNature()&&get.suit(event.card)=='spade'))&&player.isDamaged();
|
||||
return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&!game.hasNature(event.card)&&get.suit(event.card)=='spade'))&&player.isDamaged();
|
||||
},
|
||||
content:function(){
|
||||
trigger.baseDamage++;
|
||||
|
@ -24354,53 +24406,53 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shixie:['shixie','dc_shixie'],
|
||||
caoshuang:['caoshuang','ns_caoshuang'],
|
||||
caoang:['caoang','yj_caoang','tw_caoang'],
|
||||
caohong:['tw_re_caohong','caohong','tw_caohong','yj_caohong'],
|
||||
xiahouba:['xiahouba','tw_xiahouba','dc_xiahouba'],
|
||||
caohong:['caohong','tw_re_caohong','tw_caohong','yj_caohong'],
|
||||
xiahouba:['xiahouba','dc_xiahouba','tw_xiahouba'],
|
||||
maliang:['maliang','re_maliang','tw_maliang','ol_maliang','old_maliang'],
|
||||
dingfeng:['dingfeng','tw_dingfeng','old_dingfeng'],
|
||||
zumao:['zumao','tw_zumao'],
|
||||
beimihu:['tw_beimihu','beimihu'],
|
||||
panfeng:['re_panfeng','panfeng','std_panfeng'],
|
||||
tw_beimihu:['beimihu','tw_beimihu'],
|
||||
panfeng:['panfeng','re_panfeng','std_panfeng'],
|
||||
sunluyu:['sunluyu','re_sunluyu'],
|
||||
jin_simazhao:['jin_simazhao','simazhao','sp_simazhao'],
|
||||
jin_wangyuanji:['jin_wangyuanji','wangyuanji','sp_wangyuanji'],
|
||||
wangyun:['re_wangyun','wangyun','dc_wangyun','jsrg_wangyun','old_wangyun','pe_wangyun'],
|
||||
wangyun:['wangyun','dc_wangyun','re_wangyun','jsrg_wangyun','old_wangyun','pe_wangyun'],
|
||||
zhangliang:['re_zhangliang','zhangliang'],
|
||||
lingju:['lingju','old_lingju'],
|
||||
guansuo:['guansuo','ol_guansuo'],
|
||||
zhangxingcai:['zhangxingcai','old_zhangxingcai'],
|
||||
lisu:['ol_lisu','lisu'],
|
||||
fuwan:['fuwan','sp_fuwan','tw_fuwan'],
|
||||
fuwan:['fuwan','tw_fuwan','sp_fuwan'],
|
||||
huaxin:['ol_huaxin','huaxin','sp_huaxin'],
|
||||
xujing:['dc_xujing','xujing','tw_xujing','sp_xujing'],
|
||||
zhaoxiang:['zhaoxiang','tw_zhaoxiang','dc_zhaoxiang'],
|
||||
dengzhi:['ol_dengzhi','re_dengzhi','tw_dengzhi','dengzhi'],
|
||||
wangrong:['wangrong','ol_wangrong'],
|
||||
zongyu:['tw_zongyu','sp_zongyu','zongyu'],
|
||||
xujing:['xujing','dc_xujing','sp_xujing','tw_xujing'],
|
||||
zhaoxiang:['zhaoxiang','dc_zhaoxiang','tw_zhaoxiang'],
|
||||
dengzhi:['ol_dengzhi','re_dengzhi','dengzhi','tw_dengzhi'],
|
||||
wangrong:['ol_wangrong','wangrong'],
|
||||
zongyu:['zongyu','sp_zongyu','tw_zongyu'],
|
||||
ol_dongzhao:['ol_dongzhao','tw_dongzhao'],
|
||||
mayunlu:['tw_mayunlu','mayunlu'],
|
||||
mayunlu:['mayunlu','tw_mayunlu'],
|
||||
zhuling:['ol_zhuling','dc_zhuling','zhuling'],
|
||||
zangba:['tw_zangba','zangba'],
|
||||
zangba:['zangba','tw_zangba'],
|
||||
zhangbao:['zhangbao','re_zhangbao'],
|
||||
jianggan:['jianggan','sp_jianggan'],
|
||||
dc_jiben:['dc_jiben','sp_jiben'],
|
||||
yangyi:['ol_yangyi','tw_yangyi','yangyi'],
|
||||
tianyu:['tw_tianyu','tianyu'],
|
||||
yangyi:['ol_yangyi','yangyi','tw_yangyi'],
|
||||
tianyu:['tianyu','tw_tianyu'],
|
||||
huangchengyan:['huangchengyan','dc_huangchengyan'],
|
||||
puyuan:['puyuan','ol_puyuan'],
|
||||
huangzu:['dc_huangzu','huangzu'],
|
||||
huojun:['dc_huojun','huojun','tw_huojun'],
|
||||
zhaoyǎn:['dc_zhaoyǎn','zhaoyǎn'],
|
||||
furong:['ol_furong','tw_furong','furong'],
|
||||
daxiaoqiao:['tw_daxiaoqiao','daxiaoqiao','dc_daxiaoqiao'],
|
||||
zhugeguo:['tw_zhugeguo','zhugeguo'],
|
||||
wanglang:['wanglang','ol_wanglang','old_wanglang'],
|
||||
tengfanglan:['dc_tengfanglan','tengfanglan'],
|
||||
puyuan:['ol_puyuan','puyuan'],
|
||||
huangzu:['huangzu','dc_huangzu'],
|
||||
huojun:['huojun','dc_huojun','tw_huojun'],
|
||||
zhaoyǎn:['zhaoyǎn','dc_zhaoyǎn'],
|
||||
furong:['ol_furong','furong','tw_furong'],
|
||||
daxiaoqiao:['daxiaoqiao','dc_daxiaoqiao','tw_daxiaoqiao'],
|
||||
zhugeguo:['zhugeguo','tw_zhugeguo'],
|
||||
wanglang:['ol_wanglang','wanglang','old_wanglang'],
|
||||
tengfanglan:['tengfanglan','dc_tengfanglan'],
|
||||
zhangyì:['ol_zhangyì','zhangyì'],
|
||||
yuantanyuanshang:['yuantanyuanshang','yuantanyuanxiyuanshang'],
|
||||
ruiji:['dc_ruiji','ruiji'],
|
||||
ruiji:['ruiji','dc_ruiji'],
|
||||
jsp_huangyueying:['jsp_huangyueying','re_jsp_huangyueying'],
|
||||
ganfuren:['dc_ganfuren','ganfuren'],
|
||||
ganfuren:['ganfuren','dc_ganfuren'],
|
||||
wenqin:['wenqin','pe_wenqin'],
|
||||
zhouqun:['ol_zhouqun','zhouqun'],
|
||||
qianzhao:['ol_qianzhao','qianzhao'],
|
||||
|
@ -24469,7 +24521,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhangren:'张任',
|
||||
zoushi:'邹氏',
|
||||
zangba:'臧霸',
|
||||
jiling:'纪灵',
|
||||
gz_jiling:'纪灵',
|
||||
gz_sp_dongzhuo:'董卓',
|
||||
gz_zhangjiao:'张角',
|
||||
litong:'李通',
|
||||
|
@ -24477,74 +24529,92 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
buzhi:'步骘',
|
||||
chenlin:'陈琳',
|
||||
yuanshu:'SP袁术',
|
||||
yuanshu_prefix:'SP',
|
||||
gongsunzan:'公孙瓒',
|
||||
sp_diaochan:'SP貂蝉',
|
||||
sp_diaochan_prefix:'SP',
|
||||
yangxiu:'杨修',
|
||||
sp_zhaoyun:'SP赵云',
|
||||
sp_zhaoyun_prefix:'SP',
|
||||
caohong:'曹洪',
|
||||
liuxie:'刘协',
|
||||
xiahouba:'夏侯霸',
|
||||
zhugejin:'诸葛瑾',
|
||||
zhugeke:'诸葛恪',
|
||||
guanyinping:'关银屏',
|
||||
gz_ganfuren:'甘夫人',
|
||||
ganfuren:'SP甘夫人',
|
||||
ganfuren_prefix:'SP',
|
||||
sunhao:'孙皓',
|
||||
chengyu:'程昱',
|
||||
simalang:'司马朗',
|
||||
tianfeng:'田丰',
|
||||
gz_tianfeng:'田丰',
|
||||
sp_jiaxu:'SP贾诩',
|
||||
sp_jiaxu_prefix:'SP',
|
||||
maliang:'马良',
|
||||
sp_caoren:'SP曹仁',
|
||||
sp_caoren_prefix:'SP',
|
||||
yuejin:'乐进',
|
||||
mifuren:'糜夫人',
|
||||
sp_dongzhuo:'SP董卓',
|
||||
chendong:'陈武董袭',
|
||||
jiangfei:'蒋琬费祎',
|
||||
jiangqing:'蒋钦',
|
||||
sp_dongzhuo_prefix:'SP',
|
||||
gz_chendong:'陈武董袭',
|
||||
gz_jiangfei:'蒋琬费祎',
|
||||
gz_jiangqing:'蒋钦',
|
||||
hetaihou:'何太后',
|
||||
dingfeng:'丁奉',
|
||||
zhangxingcai:'张星彩',
|
||||
caoang:'曹昂',
|
||||
kongrong:'孔融',
|
||||
gz_kongrong:'孔融',
|
||||
fuwan:'伏完',
|
||||
sp_pangde:'SP庞德',
|
||||
sp_pangde_prefix:'SP',
|
||||
sp_sunshangxiang:'SP孙尚香',
|
||||
sp_sunshangxiang_prefix:'SP',
|
||||
zhugedan:'诸葛诞',
|
||||
sp_machao:'SP马超',
|
||||
sp_machao_prefix:'SP',
|
||||
sp_jiangwei:'SP姜维',
|
||||
zhangbao:'OL张宝',
|
||||
sp_jiangwei_prefix:'SP',
|
||||
zhangbao:'张宝',
|
||||
yangxiou:'杨修',
|
||||
shixie:'士燮',
|
||||
mayunlu:'马云騄',
|
||||
zhanglu:'张鲁',
|
||||
wutugu:'兀突骨',
|
||||
mateng:'马腾',
|
||||
gz_mateng:'马腾',
|
||||
sp_caiwenji:'SP蔡琰',
|
||||
sp_caiwenji_prefix:'SP',
|
||||
zhugeguo:'诸葛果',
|
||||
lingcao:'凌操',
|
||||
sunru:'手杀孙茹',
|
||||
lingju:'灵雎',
|
||||
lifeng:'李丰',
|
||||
jsp_guanyu:'SP关羽',
|
||||
jsp_guanyu_prefix:'SP',
|
||||
zhuling:'朱灵',
|
||||
sunluyu:'OL孙鲁育',
|
||||
sunluyu_prefix:'OL',
|
||||
hanba:'旱魃',
|
||||
panfeng:'OL潘凤',
|
||||
panfeng_prefix:'OL',
|
||||
gz_panfeng:'潘凤',
|
||||
zumao:'祖茂',
|
||||
daxiaoqiao:'大乔小乔',
|
||||
cuiyan:'崔琰',
|
||||
wenpin:'文聘',
|
||||
jsp_huangyueying:'SP黄月英',
|
||||
jsp_huangyueying_prefix:'SP',
|
||||
guansuo:'关索',
|
||||
tadun:'蹋顿',
|
||||
yanbaihu:'严虎',
|
||||
wanglang:'王朗',
|
||||
caochun:'曹纯',
|
||||
dongbai:'OL董白',
|
||||
dongbai_prefix:'OL',
|
||||
zhaoxiang:'赵襄',
|
||||
heqi:'贺齐',
|
||||
kanze:'OL阚泽',
|
||||
kanze_prefix:'OL',
|
||||
dongyun:'董允',
|
||||
mazhong:'马忠',
|
||||
huangfusong:'皇甫嵩',
|
||||
|
@ -24564,8 +24634,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caoying:"曹婴",
|
||||
simahui:"司马徽",
|
||||
baosanniang:"鲍三娘",
|
||||
pangdegong:"手杀庞德公",
|
||||
zhaotongzhaoguang:"手杀赵统赵广",
|
||||
majun:"马钧",
|
||||
simazhao:"司马昭",
|
||||
wangyuanji:"王元姬",
|
||||
|
@ -24575,6 +24643,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hansui:'韩遂',
|
||||
niujin:'牛金',
|
||||
xujing:'OL许靖',
|
||||
xujing_prefix:'OL',
|
||||
yuantanyuanshang:'袁谭袁尚',
|
||||
|
||||
xinfenyue:'奋钺',
|
||||
|
@ -25128,6 +25197,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zlshoufu2:'授符',
|
||||
zlshoufu_info:'出牌阶段限一次,你可摸一张牌,然后将一张手牌置于一名没有【箓】的角色的武将牌上,称为【箓】;其不能使用和打出与【箓】同类型的牌。该角色受到伤害后,或于弃牌阶段弃置至少两张与【箓】同类型的牌后,将【箓】置入弃牌堆。',
|
||||
ol_zhangchangpu:'OL张昌蒲',
|
||||
ol_zhangchangpu_prefix:'OL',
|
||||
olxingshen:'省身',
|
||||
olxingshen_info:'当你受到伤害后,你可以随机摸至多两张牌。若如此做,你获得X个“省”,且下一次发动〖严教〗展示牌时移去所有“省”并多展示等量的牌。(X为你已损失的体力值,且你至多拥有6个“省”)',
|
||||
caoshuang:'曹爽',
|
||||
|
@ -25155,7 +25225,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
luanfeng:'鸾凤',
|
||||
//luanfeng_info_fullinfo:'限定技,一名角色进入濒死状态时,若其体力上限不小于你,你可令其回复至3点体力,恢复其被废除的装备栏,令其手牌补至6-X张(X为以此法恢复的装备栏数量),重置其因“改写”使用过的牌名。若该角色是你,重置你因“游龙”使用过的牌名。',
|
||||
luanfeng_info:'限定技,一名角色进入濒死状态时,若其体力上限不小于你,你可令其回复至3点体力,恢复其被废除的装备栏,令其手牌补至6-X张(X为以此法恢复的装备栏数量)。若该角色是你,重置你因“游龙”使用过的牌名。',
|
||||
ol_xinxianying:'辛宪英',
|
||||
reluanzhan:'乱战',
|
||||
reluanzhan_add:'乱战',
|
||||
reluanzhan_remove:'乱战',
|
||||
|
@ -25175,6 +25244,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
chengshang_info:'当你于出牌阶段内使用的牌结算完成后,若此牌未造成过伤害且此牌的目标包含其他角色且你本阶段内未因〖承赏〗得到过牌,则你可以从牌堆中获得所有与此牌花色点数相同的牌。',
|
||||
chengshang_info_guozhan:'当你于出牌阶段内使用的牌结算完成后,若此牌未造成过伤害且此牌的目标包含其他角色且你本阶段内未因〖承赏〗得到过牌,则你可以从牌堆中获得所有与此牌花色点数相同的牌。',
|
||||
panshu:'OL潘淑',
|
||||
panshu_prefix:'OL',
|
||||
weiyi:'威仪',
|
||||
weiyi_info:'每名角色限一次。当有角色受到伤害后,你可选择:①若其体力值不小于你,则其失去1点体力。②若其体力值不大于你且其已受伤,则其回复1点体力。',
|
||||
jinzhi:'锦织',
|
||||
|
@ -25183,11 +25253,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yanxiao_card:'言笑',
|
||||
yanxiao_global:'言笑',
|
||||
yanxiao_card_info:'判定阶段开始时,你获得判定区内的所有牌。',
|
||||
gz_huangzu:'黄祖',
|
||||
huangzu:'OL黄祖',
|
||||
huangzu_prefix:'OL',
|
||||
wangong:'挽弓',
|
||||
wangong2:'挽弓',
|
||||
wangong_info:'锁定技,当你使用基本牌时,你获得如下效果:当你使用下一张牌时,若此牌为【杀】,则此牌无次数和距离限制且伤害+1。',
|
||||
huangchengyan:'OL黄承彦',
|
||||
huangchengyan_prefix:'OL',
|
||||
guanxu:'观虚',
|
||||
guanxu_info:'出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可将其中一张手牌与牌堆顶5张牌中的一张交换。若如此做,你弃置其手牌中3张花色相同的牌。',
|
||||
yashi:'雅士',
|
||||
|
@ -25214,12 +25287,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yuejian:'约俭',
|
||||
yuejian_info:'每回合限两次。当其他角色对你使用的牌A结算结束后,你可展示所有手牌。若牌A有花色且你的手牌中没有同花色的牌,则你获得牌A对应的所有实体牌。',
|
||||
ol_dengzhi:'OL邓芝',
|
||||
ol_dengzhi_prefix:'OL',
|
||||
olxiuhao:'修好',
|
||||
olxiuhao_info:'每回合限一次。当你受到其他角色造成的伤害时,或对其他角色造成伤害时,你可防止此伤害,然后令伤害来源摸两张牌。',
|
||||
olsujian:'素俭',
|
||||
olsujian_given:'已分配',
|
||||
olsujian_info:'锁定技。弃牌阶段开始前,你将此阶段的规则改为:{你选择一项:①将所有不为本回合得到的手牌分配给其他角色。②弃置这些手牌,然后弃置一名其他角色等量的牌}。',
|
||||
ol_wangrong:'OL王荣',
|
||||
ol_wangrong_prefix:'OL',
|
||||
olfengzi:'丰姿',
|
||||
olfengzi_info:'出牌阶段限一次。当你使用有目标的基本牌或普通锦囊牌时,你可弃置一张与此牌类型相同的牌,然后令此牌结算两次。',
|
||||
oljizhan:'吉占',
|
||||
|
@ -25237,6 +25312,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
oldingcuo:'定措',
|
||||
oldingcuo_info:'每回合限一次。当你受到或造成伤害后,你可摸两张牌。若这两张牌颜色不同,则你弃置一张手牌。',
|
||||
fengfangnv:'OL冯妤',
|
||||
fengfangnv_prefix:'OL',
|
||||
zhuangshu:'妆梳',
|
||||
zhuangshu_info:'①游戏开始时,你可将{【琼梳】,【犀梳】,【金梳】}中的一张牌置于装备区。②一名角色的回合开始时,若其宝物区为空,则你可以弃置一张牌,并根据此牌的类型,按如下关系将一张宝物牌置入该角色的装备区:{<基本牌,【琼梳】>,<锦囊牌,【犀梳】>,<装备牌,【金梳】>}。',
|
||||
chuiti:'垂涕',
|
||||
|
@ -25257,15 +25333,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olzaowang2:'造王',
|
||||
olzaowang_info:'限定技。出牌阶段,你可以令一名角色加1点体力上限,回复1点体力并摸三张牌,且获得如下效果:主公死亡时,若其身份为忠臣,则其和主公交换身份牌;其死亡时,若其身份为反贼且伤害来源的身份为主公或忠臣,则以主忠胜利结束本局游戏。',
|
||||
sp_ol_zhanghe:'SP张郃',
|
||||
sp_ol_zhanghe_prefix:'SP',
|
||||
spolzhouxuan:'周旋',
|
||||
spolzhouxuan_info:'①弃牌阶段开始时,你可将任意张置于武将牌上,称为“旋”(你至多拥有五张“旋”)。②当你使用牌时,你随机将一张“旋”置入弃牌堆,然后摸一张牌(若你的手牌数不为全场唯一最多则额外摸X张牌,X为“旋”数)。③出牌阶段结束时,你将所有“旋”置入弃牌堆。',
|
||||
wuyan:'吾彦',
|
||||
lanjiang:'澜疆',
|
||||
lanjiang_info:'结束阶段,你可以选择所有手牌数不小于你的角色。这些角色依次选择是否令你摸一张牌。然后你可以对其中一名手牌数等于你的角色造成1点伤害,随后可以对其中一名手牌数小于你的角色摸一张牌。',
|
||||
ol_zhuling:'OL朱灵',
|
||||
ol_zhuling_prefix:'OL',
|
||||
jixian:'急陷',
|
||||
jixian_info:'摸牌阶段结束时,你可以选择一名满足以下至少一项条件的角色:⒈装备区内有防具牌;⒉拥有的普通技能数大于你;⒊体力值等于体力上限。你视为对其使用一张【杀】,然后摸X张牌(X为其于此【杀】结算前满足的条件数);若此【杀】未造成伤害,则你失去1点体力。',
|
||||
ol_chendeng:'OL陈登',
|
||||
ol_chendeng_prefix:'OL',
|
||||
olfengji:'丰积',
|
||||
olfengji_info:'摸牌阶段开始时,你选择:⒈本回合摸牌阶段的额定摸牌数-1,且令一名其他角色下回合摸牌阶段的额定摸牌数+2;⒉本回合摸牌阶段的额定摸牌数+1。然后你选择:⒈本回合使用【杀】的次数上限-1,且令一名其他角色下回合使用【杀】的次数上限+2;⒉本回合使用【杀】的次数上限+1。',
|
||||
tianyu:'田豫',
|
||||
|
@ -25285,11 +25364,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
qhzhangji:'长姬',
|
||||
qhzhangji_info:'一名角色的回合结束时,若你本回合内:造成过伤害,则你可以令其摸两张牌;受到过伤害,则你可以令其弃置两张牌。',
|
||||
sp_menghuo:'SP孟获',
|
||||
sp_menghuo_prefix:'SP',
|
||||
spmanwang:'蛮王',
|
||||
spmanwang_info:'出牌阶段,你可以弃置任意张牌。然后你依次执行以下选项中的前X项:⒈获得〖叛侵〗。⒉摸一张牌。⒊回复1点体力。⒋摸两张牌并失去〖叛侵〗。',
|
||||
sppanqin:'叛侵',
|
||||
sppanqin_info:'出牌阶段或弃牌阶段结束时,你可将你于本阶段内弃置且位于弃牌堆的所有牌当做【南蛮入侵】使用。然后若此牌被使用时对应的实体牌数不大于此牌的目标数,则你执行并移除〖蛮王〗中的最后一个选项。',
|
||||
tengfanglan:'OL滕芳兰',
|
||||
tengfanglan_prefix:'OL',
|
||||
luochong:'落宠',
|
||||
luochong_info:'准备阶段开始时/当你于一回合内首次受到伤害后,你可选择本轮内未选择过的一项(每名角色每轮限选一次):⒈令一名角色回复1点体力。⒉令一名角色失去1点体力。⒊令一名角色弃置两张牌。⒋令一名角色摸两张牌。',
|
||||
aichen:'哀尘',
|
||||
|
@ -25300,6 +25381,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liejie:'烈节',
|
||||
liejie_info:'当你受到伤害后,你可以弃置至多三张牌,摸等量的牌,然后可弃置伤害来源的至多X张牌(X为你以此法弃置的红色牌的数量)。',
|
||||
ruiji:'OL芮姬',
|
||||
ruiji_prefix:'OL',
|
||||
qiaoli:'巧力',
|
||||
qiaoli_info:'出牌阶段各限一次,你可以将一张武器牌/非武器装备牌当作【决斗】使用。若此【决斗】对应的实体牌为武器牌,当你以此【决斗】对目标角色造成伤害后,你摸X张牌(X为此牌的攻击范围),且可以将其中任意张牌分配给其他角色;若此【决斗】对应的实体牌不为武器牌,此牌不可被响应,且你于结束阶段从牌堆中获得一张装备牌。',
|
||||
qiaoli_given:'已分配',
|
||||
|
@ -25338,6 +25420,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xuwangzhimian:'虚妄之冕',
|
||||
xuwangzhimian_info:'锁定技,摸牌阶段,你令额定摸牌数+2;你的手牌上限-1。',
|
||||
ol_puyuan:'OL蒲元',
|
||||
ol_puyuan_prefix:'OL',
|
||||
olshengong:'神工',
|
||||
olshengong_info:'出牌阶段每项限一次。你可以弃置一张武器牌/防具牌/其他装备牌,并发起一次“锻造”。然后你从锻造结果中选择一张牌,置于一名角色的装备区内(可替换原装备)。当有因你发动〖神工〗而加入游戏的牌进入弃牌堆后,你将此牌移出游戏,然后你于当前回合结束后摸一张牌。',
|
||||
olqisi:'奇思',
|
||||
|
@ -25345,11 +25428,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olzhuiji:'追击',
|
||||
olzhuiji_info:'锁定技。①你至体力值不大于你的角色的距离为1。②当你使用【杀】指定距离为1的角色为目标后,你令其选择一项:⒈弃置一张牌。⒉重铸装备区内的所有牌。',
|
||||
zhaoyǎn:'OL赵俨',
|
||||
zhaoyǎn_prefix:'OL',
|
||||
tongxie:'同协',
|
||||
tongxie_info:'出牌阶段开始时,你可以选择包括你在内的至多三名角色(你与这些角色均称为“同协角色”)。这些角色中手牌数唯一最少的角色摸一张牌,且你获得如下效果直到你下回合开始:①当有“同协角色”对唯一目标角色使用的【杀】结算结束后,其他“同协角色”可以依次对目标角色使用一张【杀】(无距离和次数限制,且不能再触发此效果)。②当有“同协角色”受到伤害时,其他“同协角色”(本回合内失去过体力的角色除外)可以防止此伤害,失去1点体力。',
|
||||
jin_zhouchu:'周处',
|
||||
shanduan:'善断',
|
||||
shanduan_info:'锁定技。①回合开始时,你生成数组R=[1,2,3,4]。②摸牌阶段开始时,你从数组R中选择并移除一个数字A。你本阶段的额定摸牌数改为A。③出牌阶段开始时,你从数组R中选择并移除两个数字B和C。你将你本阶段内的攻击范围基数最小值和使用【杀】的次数上限基础值改为B和C。④弃牌阶段开始时,你从数组R中选择并移除一个数字D。你令你本回合的手牌上限基数改为D。⑤当你于回合外受到伤害后,你令下回合生成的R中最小的一个数字+1。',
|
||||
shanduan_info:'锁定技。①摸牌/出牌/弃牌阶段开始时,你为本回合摸牌阶段摸牌数/攻击范围和使用【杀】的限制次数/手牌上限的默认值从数组R=[1,2,3,4]中分配数值。②当你于回合外受到伤害后,你令下回合〖善断①〗以此法分配的数值集合R中的最小值+1。',
|
||||
yilie:'义烈',
|
||||
yilie_info:'每轮每种牌名限一次。你可以将两张颜色相同的手牌当做任意一种基本牌使用。',
|
||||
caoxiancaohua:'曹宪曹华',
|
||||
|
@ -25362,6 +25446,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jisi:'羁肆',
|
||||
jisi_info:'限定技。准备阶段,你可以令一名其他角色获得你武将牌上的一个已发动过的其他技能。然后你弃置所有手牌,并视为对其使用一张【杀】(无距离关系的限制)。',
|
||||
huojun:'OL霍峻',
|
||||
huojun_prefix:'OL',
|
||||
qiongshou:'穷守',
|
||||
qiongshou_info:'锁定技。①游戏开始时,你废除所有装备栏并摸四张牌。②你的手牌上限+4。',
|
||||
fenrui:'奋锐',
|
||||
|
@ -25397,6 +25482,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jueman:'蟨蛮',
|
||||
jueman_info:'锁定技。一名角色的回合结束时,若本回合被使用过的基本牌数不小于2,且前两张基本牌的使用者:均不为你,你视为使用本回合被使用的第三张基本牌;有且仅有其中之一为你,你摸一张牌。',
|
||||
ol_liuba:'OL刘巴',
|
||||
ol_liuba_prefix:'OL',
|
||||
oltongduo:'统度',
|
||||
oltongduo_info:'准备阶段,你可以令一名角色交给你一张手牌,然后出牌阶段结束时,你将此牌置于牌堆顶。',
|
||||
olzhubi:'铸币',
|
||||
|
@ -25440,9 +25526,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rekenshang:'垦伤',
|
||||
rekenshang_info:'你可以将至少两张牌当【杀】使用,然后你可以将此牌目标改为等量名角色。此牌结算结束后,若此牌对应的实体牌数大于此牌造成过的伤害值,你摸一张牌。',
|
||||
ol_zhujun:'OL朱儁',
|
||||
ol_zhujun_prefix:'OL',
|
||||
olcuipo:'摧破',
|
||||
olcuipo_info:'锁定技。当你使用牌时,若此牌是你本回合使用的第X张牌(X为此牌牌名的字数),则:{若此牌为【杀】或伤害类锦囊牌,则此牌的伤害值基数+1,否则你摸一张牌}。',
|
||||
ol_zhangyì:'OL张翼',
|
||||
ol_zhangyì_prefix:'OL',
|
||||
oldianjun:'殿军',
|
||||
oldianjun_info:'锁定技。回合结束时,你受到1点无来源伤害,然后执行一个额外的出牌阶段。',
|
||||
olkangrui:'亢锐',
|
||||
|
@ -25454,6 +25542,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olshilu:'失路',
|
||||
olshilu_info:'锁定技。当你受到伤害后,你摸X张牌(X为你的体力值且至多为5)。然后你展示攻击范围内一名角色的一张手牌,令此牌的牌名视为【杀】。',
|
||||
ol_huban:'OL胡班',
|
||||
ol_huban_prefix:'OL',
|
||||
olhuiyun:'晖云',
|
||||
olhuiyun_tag:'invisible',
|
||||
olhuiyun_info:'每轮每项各限一次。你可以将一张牌当【火攻】使用。此牌结算结束后,你选择一项,令目标角色选择是否执行:1.使用展示的牌,然后重铸所有手牌;2.使用一张手牌,然后重铸展示牌;3.摸一张牌。',
|
||||
|
@ -25477,6 +25566,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olleijie:'雷劫',
|
||||
olleijie_info:'准备阶段,你可以令一名角色判定,若结果为♠2~9,其受到2点雷电伤害,否则其摸两张牌。',
|
||||
ol_liuyan:'OL刘焉',
|
||||
ol_liuyan_prefix:'OL',
|
||||
olpianan:'偏安',
|
||||
olpianan_info:'锁定技。游戏开始或弃牌阶段结束时,你弃置所有不为【闪】的手牌(没有则不弃)。若你的手牌数小于体力值,你获得牌堆或弃牌堆中的前X张【闪】(X为你的体力值与手牌数的差)。',
|
||||
olyinji:'殷积',
|
||||
|
@ -25484,9 +25574,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olkuisi:'窥伺',
|
||||
olkuisi_info:'锁定技。摸牌阶段开始时,你跳过此阶段,然后观看牌堆顶的四张牌并可以使用其中任意张。若你以此法使用的牌数不为2或3,你减1点体力上限。',
|
||||
ol_wanglang:'OL王朗',
|
||||
ol_wanglang_prefix:'OL',
|
||||
oljici:'激词',
|
||||
oljici_info:'当你的拼点牌亮出后,若点数不大于X,你可令点数+X并令〖鼓舌〗视为未发动过(X为你的“饶舌”标记数)。',
|
||||
ol_mengda:'OL孟达',
|
||||
ol_mengda_prefix:'OL',
|
||||
olgoude:'苟得',
|
||||
olgoude_info:'一名角色的回合结束时,若有与你势力相同的角色执行过以下项,则你可以执行这些角色未执行过的一项:1.摸一张牌;2.弃置一名角色的一张手牌;3.使用一张无对应实体牌的【杀】;4.变更势力。',
|
||||
haopu:'郝普',
|
||||
|
@ -25532,6 +25624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olkuansai:'款塞',
|
||||
olkuansai_info:'当一张牌指定第一个目标后,若目标数大于你的体力值,你可以令其中一个目标选择一项:1.交给你一张牌;2.令你回复1点体力。',
|
||||
ol_luyusheng:'OL陆郁生',
|
||||
ol_luyusheng_prefix:'OL',
|
||||
olcangxin:'藏心',
|
||||
olcangxin_info:'锁定技。①当你受到伤害时,你观看牌堆底的三张牌并弃置其中任意张牌,若你以此法弃置了红桃牌,则防止此伤害。②摸牌阶段开始时,你展示牌堆底的三张牌,然后摸X张牌(X为其中红桃牌的数量)。',
|
||||
olrunwei:'润微',
|
||||
|
@ -25542,6 +25635,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
oljianxuan:'谏旋',
|
||||
oljianxuan_info:'当你受到伤害后,你可以令一名角色摸一张牌,然后若其手牌数等于你〖刚述①〗中的任意一项对应的数值,其重复此流程。',
|
||||
ol_pengyang:'OL彭羕',
|
||||
ol_pengyang_prefix:'OL',
|
||||
olqifan:'器翻',
|
||||
olqifan_info:'当你需要使用不为【无懈可击】的牌时,你可以观看牌堆底的X+1张牌并使用其中的一张。此牌结算结束时,你依次弃置以下前X个区域中的所有牌:⒈判定区、⒉装备区、⒊手牌区(X为你因此技能使用过的牌中包含的类型数)。',
|
||||
oltuishi:'侻失',
|
||||
|
|
|
@ -3169,6 +3169,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 1'
|
||||
if(result.bool){
|
||||
trigger.num--;
|
||||
if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.15);
|
||||
target.addMark('jieliang_less',1,false);
|
||||
target.addTempSkill('jieliang_less');
|
||||
player.addTempSkill('jieliang_gain');
|
||||
|
@ -3299,7 +3300,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 8-get.value(card);
|
||||
}).set('goon',get.damageEffect(trigger.player,player,player)>0).logSkill=['tianze',trigger.player];
|
||||
'step 1'
|
||||
if(result.bool) trigger.player.damage();
|
||||
if(result.bool){
|
||||
if(get.mode()!='identity'||player.identity!='nei') player.addExpose(0.2);
|
||||
trigger.player.damage();
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
game.delayx();
|
||||
|
@ -3394,12 +3398,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
var next=player.chooseToDiscard('he',get.prompt('chaofeng',trigger.player),str);
|
||||
next.set('ai',function(card){
|
||||
var player=_status.event.player,suit=_status.event.color,number=_status.event.type,att=_status.event.att;
|
||||
var val=4-get.value(card);
|
||||
if(get.color(card)==suit) val+=3;
|
||||
if(get.type2(card)==number){
|
||||
if(att<=0) val+=4;
|
||||
else val-=3;
|
||||
var player=_status.event.player,att=_status.event.att;
|
||||
var val=4.2-get.value(card);
|
||||
if(get.color(card)==_status.event.color) val+=3;
|
||||
if(get.type2(card)==_status.event.type){
|
||||
if(att<0) val+=4;
|
||||
else if(att===0) val+=2;
|
||||
else val=0;
|
||||
}
|
||||
return val;
|
||||
});
|
||||
|
@ -6559,7 +6564,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else{
|
||||
var vcard=[get.type(trigger.card),'',trigger.card.name];
|
||||
if(trigger.card.hasNature()) vcard.push(get.nature(trigger.card));
|
||||
if(game.hasNature(trigger.card)) vcard.push(get.nature(trigger.card));
|
||||
player.storage.juanhui3.push(vcard);
|
||||
player.markSkill('juanhui2');
|
||||
}
|
||||
|
@ -7360,7 +7365,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
target:function(card,player,target,current){
|
||||
if(target.hasMark('cangchu')){
|
||||
if(card.name=='sha'){
|
||||
if(lib.skill.global.contains('huoshaowuchao')||card.hasNature('fire')||player.hasSkill('zhuque_skill')) return 2;
|
||||
if(lib.skill.global.contains('huoshaowuchao')||game.hasNature(card,'fire')||player.hasSkill('zhuque_skill')) return 2;
|
||||
}
|
||||
if(get.tag(card,'fireDamage')&¤t<0) return 2;
|
||||
}
|
||||
|
@ -8452,6 +8457,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
result:{
|
||||
order:10,
|
||||
player:function(player,target){
|
||||
if(player.countCards('hs',function(card){
|
||||
return get.tag(card,'damage')&&player.canUse(card,target);
|
||||
|
@ -8499,7 +8505,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player:function(card,player,target){
|
||||
if(target!=player.storage.yinju2) return;
|
||||
if(card.name=='lebu') return;
|
||||
return [0,0.5,0,0.5];
|
||||
if(card.name!=='huogong'&&get.tag(card,'damage')&&target.isDamaged()) [1,0.6,0,2.4];
|
||||
return [1,0.6,1,0.6];
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -10090,21 +10097,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
lijue:['lijue','ns_lijue'],
|
||||
fanchou:['fanchou','tw_fanchou','ns_fanchou'],
|
||||
zhangji:['zhangji','ns_zhangji'],
|
||||
zhangchangpu:['zhangchangpu','sp_zhangchangpu','ol_zhangchangpu'],
|
||||
zhangchangpu:['ol_zhangchangpu','zhangchangpu','sp_zhangchangpu'],
|
||||
huangfusong:['huangfusong','sp_huangfusong','jsrg_huangfusong','old_huangfusong'],
|
||||
dingyuan:['ol_dingyuan','dingyuan'],
|
||||
quyi:['quyi','re_quyi'],
|
||||
hansui:['hansui','xin_hansui','re_hansui'],
|
||||
hansui:['hansui','re_hansui','xin_hansui'],
|
||||
jin_simashi:['jin_simashi','simashi'],
|
||||
jin_yanghuiyu:['jin_yanghuiyu','yanghuiyu'],
|
||||
taoqian:['taoqian','re_taoqian'],
|
||||
taoqian:['re_taoqian','taoqian'],
|
||||
sp_liubei:['jsrg_liubei','sp_liubei'],
|
||||
dongcheng:['re_dongcheng','dongcheng'],
|
||||
hucheer:['tw_hucheer','re_hucheer','hucheer'],
|
||||
hucheer:['re_hucheer','hucheer','tw_hucheer'],
|
||||
nanhualaoxian:['re_nanhualaoxian','nanhualaoxian','jsrg_nanhualaoxian'],
|
||||
pangdegong:['re_pangdegong','pangdegong'],
|
||||
zhujun:['sp_zhujun','ol_zhujun','zhujun','jsrg_zhujun'],
|
||||
tw_liuhong:['tw_liuhong','liuhong','jsrg_liuhong'],
|
||||
zhujun:['ol_zhujun','zhujun','sp_zhujun','jsrg_zhujun'],
|
||||
tw_liuhong:['liuhong','tw_liuhong','jsrg_liuhong'],
|
||||
re_hejin:['hejin','re_hejin','tw_hejin','jsrg_hejin'],
|
||||
hujinding:['dc_hujinding','hujinding'],
|
||||
caosong:['caosong','sp_caosong'],
|
||||
|
@ -10114,9 +10121,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caoanmin:['caoanmin','ns_caoanmin'],
|
||||
duanwei:['duanwei','junk_duanwei'],
|
||||
xushao:['xushao','jsrg_xushao'],
|
||||
huban:['dc_huban','ol_huban'],
|
||||
mengda:['dc_mengda','ol_mengda','pe_mengda'],
|
||||
jsp_guanyu:['jsrg_guanyu','dc_jsp_guanyu','jsp_guanyu'],
|
||||
huban:['ol_huban','dc_huban'],
|
||||
mengda:['ol_mengda','dc_mengda','pe_mengda'],
|
||||
jsp_guanyu:['jsp_guanyu','dc_jsp_guanyu','jsrg_guanyu'],
|
||||
mushun:['mushun','sp_mushun'],
|
||||
wangjun:['dc_wangjun','wangjun'],
|
||||
zoushi:['re_zoushi','jsrg_zoushi'],
|
||||
|
@ -10133,8 +10140,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhangqiying:"张琪瑛",
|
||||
sp_liuqi:'刘琦',
|
||||
xf_tangzi:"唐咨",
|
||||
gz_xf_huangquan:"黄权",
|
||||
xf_huangquan:"OL黄权",
|
||||
xf_huangquan_prefix:"OL",
|
||||
gz_xf_sufei:"苏飞",
|
||||
xf_sufei:"OL苏飞",
|
||||
xf_sufei_prefix:"OL",
|
||||
"xinfu_langxi":"狼袭",
|
||||
"xinfu_langxi_info":"准备阶段,你可以对一名体力小于或等于你的其他角色造成0~2点随机伤害。",
|
||||
"xinfu_yisuan":"亦算",
|
||||
|
@ -10252,9 +10263,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"xingshen_info":"当你受到伤害后,你可以摸一张牌且下一次发动〖严教〗亮出的牌数+1。若你的手牌数为全场最少,则改为摸两张牌;若你的体力值为全场最少,则〖严教〗亮出的牌数改为+2(加值总数不能超过4)。",
|
||||
|
||||
sp_zhanghe:'SP张郃',
|
||||
sp_zhanghe_prefix:'SP',
|
||||
yuanlve:'远略',
|
||||
yuanlve_info:'出牌阶段限一次,你可以将一张非装备牌交给一名角色,然后该角色可以使用该牌并令你摸一张牌。',
|
||||
xunchen:'OL荀谌',
|
||||
xunchen_prefix:'OL',
|
||||
fenglve:'锋略',
|
||||
fenglve2:'锋略',
|
||||
fenglve_info:'出牌阶段开始时,你可以与一名角色拼点,若你赢,该角色将其区域内的各一张牌交给你;若你没赢,你交给其一张牌。当你的单人拼点结算后,你可以令对方获得你拼点的牌。',
|
||||
|
@ -10262,16 +10275,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mouzhi2:'谋识',
|
||||
mouzhi_info:'出牌阶段限一次,你可以将一张手牌交给一名角色,若如此做,当其于其下回合的出牌阶段内对一名角色造成伤害后,若是此阶段其第一次对该角色造成伤害,你摸一张牌。',
|
||||
sp_shenpei:'SP审配',
|
||||
sp_shenpei_prefix:'SP',
|
||||
gangzhi:'刚直',
|
||||
gangzhi_info:'锁定技,当你即将受到其他角色造成的伤害时,或即将对其他角色造成伤害时,你防止此伤害,改为受到伤害的角色失去等量的体力。',
|
||||
beizhan:'备战',
|
||||
beizhan2:'备战',
|
||||
beizhan_info:'结束阶段,你可以令一名角色将手牌摸至体力上限(至多为5)。其下个回合开始时,若其手牌数为全场最多,则其此回合内使用的牌不能指定其他角色为目标。',
|
||||
gaolan:'OL高览',
|
||||
gaolan_prefix:'OL',
|
||||
xiying:'袭营',
|
||||
xiying2:'袭营',
|
||||
xiying_info:'出牌阶段开始时,你可以弃置一张非基本手牌,然后令所有其他角色依次选择一项:弃置一张牌,或本回合内不能使用或打出牌;且你本回合内获得如下效果:结束阶段,若你于本回合的出牌阶段内造成过伤害,则你从牌堆中获得一张伤害性基本牌或普通锦囊牌。',
|
||||
lvkuanglvxiang:'OL吕旷吕翔',
|
||||
lvkuanglvxiang_prefix:'OL',
|
||||
liehou:'列侯',
|
||||
liehou_info:'出牌阶段限一次,你可以令一名攻击范围内的角色交给你一张手牌,然后你将一张手牌交给攻击范围内的另一名角色。',
|
||||
qigong:'齐攻',
|
||||
|
@ -10284,6 +10300,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
liangying:'粮营',
|
||||
liangying_info:'锁定技,若你有“粮”标记,则友方角色摸牌阶段摸牌数+1;当你失去所有“粮”标记后,你减1点体力上限,然后令敌方角色各摸两张牌。',
|
||||
sp_xuyou:'SP许攸',
|
||||
sp_xuyou_prefix:'SP',
|
||||
spshicai:'恃才',
|
||||
spshicai2:'恃才',
|
||||
spshicai_info:'出牌阶段,牌堆顶的一张牌对你可见。你可以弃置一张牌,然后获得牌堆顶的一张牌,且不能再发动〖恃才〗直到此牌离开你的手牌区。',
|
||||
|
@ -10294,6 +10311,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
chenggong:'逞功',
|
||||
chenggong_info:'当有角色使用牌指定目标后,若此牌对目标数大于1,则你可令使用者摸一张牌。',
|
||||
sp_zhangliao:'SP张辽',
|
||||
sp_zhangliao_prefix:'SP',
|
||||
//这仨技能给SP仲村由理毫无违和感好吗!!!
|
||||
mubing:'募兵',
|
||||
mubing_info:'出牌阶段开始时,你可以展示牌堆顶的三张牌。你可弃置任意张手牌,并可获得任意张点数之和不大于你弃置的牌点数之和的牌。',
|
||||
|
@ -10311,6 +10329,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
juanhui2_backup:'绢绘',
|
||||
juanhui_info:'结束阶段,你可以选择一名其他角色。记录该角色下回合的出牌阶段里使用的基本牌和普通锦囊牌(每种牌名限记一次),你的下回合出牌阶段,可将一张手牌当这些牌里的任意一张牌使用(每张限使用一次,且【杀】不计次数)。当"绢绘"的牌全部用完时,你回复1点体力并将手牌摸至三张。',
|
||||
re_maliang:'新杀马良',
|
||||
re_maliang_prefix:'新杀',
|
||||
rexiemu:'协穆',
|
||||
rexiemu_info:'结束阶段,若全场没有“协穆”标记,你可以选择一名角色获得“协穆”标记直到你的下回合开始。你或该角色在各自的回合外使用或打出手牌时,你与其各摸一张牌(每回合限一次)。',
|
||||
heli:'贺励',
|
||||
|
@ -10331,7 +10350,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tuxing2:'图兴',
|
||||
tuxing_info:'锁定技,当你废除一个装备栏时,你加1点体力上限并回复1点体力。然后若你所有的装备栏均已被废除,则你减4点体力上限,且本局游戏内造成的伤害+1。',
|
||||
re_hejin:'新杀何进',
|
||||
re_hejin_prefix:'新杀',
|
||||
xin_baosanniang:'新杀鲍三娘',
|
||||
xin_baosanniang_prefix:'新杀',
|
||||
decadexushen:"许身",
|
||||
decadexushen2:'许身',
|
||||
decadexushen_info:"限定技,当你进入濒死状态后,你可以回复1点体力并获得技能“镇南”,然后如果你脱离濒死状态且“关索”不在场,你可令一名其他角色选择是否用“关索”代替其武将并令其摸三张牌。",
|
||||
|
@ -10373,7 +10394,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
quanbian2:'权变',
|
||||
quanbian_info:'当你于出牌阶段内使用/打出手牌时,若此牌有花色且你本回合内未使用/打出过该花色的其他手牌,则你可以选择一项:①摸一张牌。②将牌堆顶X张牌中的一张置于牌堆底(X为你的体力上限)。若你发动此技能,则你本回合内不能再使用与此牌花色相同的手牌。',
|
||||
re_hansui:'新杀韩遂',
|
||||
re_hansui_prefix:'新杀',
|
||||
re_quyi:'新杀麴义',
|
||||
re_quyi_prefix:'新杀',
|
||||
refuqi:'伏骑',
|
||||
refuqi_info:'锁定技,当你使用牌时,你令所有距离为1的其他角色不能使用或打出牌响应此牌。',
|
||||
hanfu:'韩馥',
|
||||
|
@ -10383,11 +10406,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hfjieying_info:'结束阶段,你可以选择一名其他角色,该角色下回合使用【杀】或普通锦囊牌无距离限制且可多指定一个目标,且当其造成伤害后,其无法再使用牌直到回合结束。 ',
|
||||
weipo:'危迫',
|
||||
weipo_info:'锁定技,其他角色使用【杀】或普通锦囊牌指定你为目标后,若你的手牌数小于X,则你将手牌摸至X张,并记录摸牌事件结算后的手牌数Y。此牌结算结束后,若你的手牌数小于Y,则你将一张手牌交给此牌的使用者,且此技能失效直到你的下回合开始。(X为你的体力上限且至多为5) ',
|
||||
ol_lisu:'OL李肃',
|
||||
qiaoyan:'巧言',
|
||||
qiaoyan_info:'锁定技,当你于回合外受到其他角色造成的伤害时,若你:有“珠”,则你令伤害来源获得“珠”;没有“珠”,则你防止此伤害,然后摸一张牌,并将一张牌正面朝上置于武将牌上,称为“珠”。',
|
||||
xianzhu:'献珠',
|
||||
xianzhu_info:'锁定技,出牌阶段开始时,你令一名角色A获得“珠”。若A不为你自己,则你选择A攻击范围内的一名角色B,视为A对B使用一张【杀】。',
|
||||
zhaozhong:'赵忠',
|
||||
yangzhong:'殃众',
|
||||
yangzhong_info:'当你造成或受到伤害后,若受伤角色和伤害来源均存活,则伤害来源可弃置两张牌,然后令受伤角色失去1点体力。',
|
||||
|
@ -10417,6 +10435,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhangu:'战孤',
|
||||
zhangu_info:'锁定技,准备阶段,若你的体力上限大于1且没有手牌/装备区内没有牌,则你减1点体力上限,然后从牌堆中获得三张类型不同的牌。',
|
||||
re_niujin:'新杀牛金',
|
||||
re_niujin_prefix:'新杀',
|
||||
recuorui:'摧锐',
|
||||
recuorui_info:'限定技,出牌阶段,你可以依次获得至多X名角色的各一张手牌(X为你的体力值)。',
|
||||
reliewei:'裂围',
|
||||
|
@ -10600,6 +10619,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcniji:'逆击',
|
||||
dcniji_info:'①当你成为非装备牌的目标后,你可以摸一张牌,称为“逆击”。②一名角色的结束阶段,若你于本回合获得的“逆击”数不小于你的体力值,你可以使用一张“逆击”。你弃置所有“逆击”。',
|
||||
//dc_fuwan:'新杀伏完',
|
||||
//dc_fuwan_prefix:'新杀',
|
||||
//dc_fuwan_ab:'伏完',
|
||||
dcmoukui:'谋溃',
|
||||
dcmoukui_info:'当你使用【杀】指定第一个目标后,你可以选择任意项:1.摸一张牌;2.弃置其中一个目标角色一张牌。若你均选择,当此【杀】被无效后或被抵消后,该角色弃置你一张牌。',
|
||||
|
@ -10620,12 +10640,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dclibang_info:'出牌阶段限一次。你可以弃置一张牌,正面向上获得两名其他角色的各一张牌。然后你判定,若结果与这两张牌的颜色均不同,你交给其中一名角色两张牌或失去1点体力,否则你获得判定牌并视为对其中一名角色使用一张【杀】。',
|
||||
dcwujie:'无节',
|
||||
dcwujie_info:'锁定技。①你使用无色牌无任何次数限制且无距离限制。②当其他角色执行杀死你的奖惩而摸牌或弃牌时,取消之。',
|
||||
dc_jsp_guanyu:'魏关羽',
|
||||
dc_jsp_guanyu:'新杀SP关羽',
|
||||
dc_jsp_guanyu_prefix:'新杀SP',
|
||||
dcdanji:'单骑',
|
||||
dcdanji_info:'觉醒技。准备阶段,若你的手牌数大于体力值,你减1点体力上限,将体力回复至体力上限,然后获得〖马术〗和〖怒嗔〗。',
|
||||
dcnuchen:'怒嗔',
|
||||
dcnuchen_info:'出牌阶段限一次。你可以展示一名其他角色的一张手牌,然后选择一项:1.弃置任意张该花色的牌,对其造成等量伤害;2.获得该角色手牌中所有此花色的牌。',
|
||||
dc_jikang:'新杀嵇康',
|
||||
dc_jikang_prefix:'新杀',
|
||||
dcjuexiang:'绝响',
|
||||
dcjuexiang_info:'当你死亡时,杀死你的角色弃置其装备区内的所有牌并失去1点体力,然后你可以令一名其他角色获得〖残韵〗。',
|
||||
dccanyun:'残韵',
|
||||
|
|
|
@ -2477,39 +2477,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
characterReplace:{
|
||||
caocao:['re_caocao','caocao','dc_caocao'],
|
||||
guojia:['re_guojia','guojia','ps1059_guojia','ps2070_guojia'],
|
||||
simayi:['re_simayi','simayi','ps_simayi','ps2068_simayi'],
|
||||
caocao:['caocao','re_caocao','sb_caocao','dc_caocao'],
|
||||
guojia:['guojia','re_guojia','ps1059_guojia','ps2070_guojia'],
|
||||
simayi:['simayi','re_simayi','ps_simayi','ps2068_simayi'],
|
||||
jin_simayi:['jin_simayi','junk_simayi','ps_jin_simayi'],
|
||||
zhenji:['re_zhenji','yj_zhenji','zhenji'],
|
||||
xuzhu:['re_xuzhu','xuzhu'],
|
||||
zhangliao:['re_zhangliao','zhangliao'],
|
||||
zhenji:['zhenji','re_zhenji','sb_zhenji','yj_zhenji'],
|
||||
xuzhu:['xuzhu','re_xuzhu'],
|
||||
zhangliao:['zhangliao','re_zhangliao'],
|
||||
sp_zhangliao:['sp_zhangliao','yj_zhangliao','jsrg_zhangliao'],
|
||||
xiahoudun:['re_xiahoudun','xin_xiahoudun','xiahoudun'],
|
||||
liubei:['re_liubei','liubei','dc_liubei','junk_liubei'],
|
||||
guanyu:['re_guanyu','guanyu','ps_guanyu'],
|
||||
zhangfei:['re_zhangfei','tw_zhangfei','xin_zhangfei','old_zhangfei','zhangfei','yj_zhangfei'],
|
||||
zhaoyun:['re_zhaoyun','old_zhaoyun','zhaoyun','ps2063_zhaoyun','ps2067_zhaoyun'],
|
||||
xiahoudun:['xiahoudun','re_xiahoudun','xin_xiahoudun'],
|
||||
liubei:['liubei','re_liubei','sb_liubei','dc_liubei','junk_liubei'],
|
||||
guanyu:['guanyu','re_guanyu','ps_guanyu'],
|
||||
zhangfei:['zhangfei','re_zhangfei','old_zhangfei','xin_zhangfei','sb_zhangfei','tw_zhangfei','yj_zhangfei'],
|
||||
zhaoyun:['zhaoyun','re_zhaoyun','old_zhaoyun','sb_zhaoyun','ps2063_zhaoyun','ps2067_zhaoyun'],
|
||||
sp_zhaoyun:['sp_zhaoyun','jsp_zhaoyun'],
|
||||
machao:['re_machao','machao','ps_machao'],
|
||||
sp_machao:['sp_machao','old_machao','dc_sp_machao'],
|
||||
zhugeliang:['re_zhugeliang','zhugeliang','ps2066_zhugeliang','ps_zhugeliang'],
|
||||
huangyueying:['re_huangyueying','huangyueying','junk_huangyueying'],
|
||||
sunquan:['re_sunquan','sunquan','dc_sunquan'],
|
||||
zhouyu:['re_zhouyu','zhouyu','ps1062_zhouyu','ps2080_zhouyu'],
|
||||
luxun:['re_luxun','luxun'],
|
||||
lvmeng:['re_lvmeng','lvmeng'],
|
||||
huanggai:['re_huanggai','huanggai'],
|
||||
daqiao:['re_daqiao','daqiao'],
|
||||
sunshangxiang:['re_sunshangxiang','sunshangxiang'],
|
||||
ganning:['re_ganning','ganning','yongjian_ganning'],
|
||||
machao:['machao','re_machao','sb_machao','ps_machao'],
|
||||
sp_machao:['sp_machao','dc_sp_machao','old_machao'],
|
||||
zhugeliang:['zhugeliang','re_zhugeliang','ps2066_zhugeliang','ps_zhugeliang'],
|
||||
huangyueying:['huangyueying','re_huangyueying','junk_huangyueying'],
|
||||
sunquan:['sunquan','re_sunquan','sb_sunquan','dc_sunquan'],
|
||||
zhouyu:['zhouyu','re_zhouyu','sb_zhouyu','ps1062_zhouyu','ps2080_zhouyu'],
|
||||
luxun:['luxun','re_luxun'],
|
||||
lvmeng:['lvmeng','re_lvmeng','sb_lvmeng'],
|
||||
huanggai:['huanggai','re_huanggai','sb_huanggai'],
|
||||
daqiao:['daqiao','re_daqiao','sb_daqiao'],
|
||||
sunshangxiang:['sunshangxiang','re_sunshangxiang','sb_sunshangxiang'],
|
||||
ganning:['ganning','re_ganning','sb_ganning','yongjian_ganning'],
|
||||
yj_ganning:['yj_ganning','sp_ganning'],
|
||||
lvbu:['re_lvbu','lvbu','jsrg_lvbu','ps_lvbu'],
|
||||
diaochan:['re_diaochan','diaochan'],
|
||||
huatuo:['re_huatuo','old_huatuo','huatuo'],
|
||||
huaxiong:['re_huaxiong','old_huaxiong','huaxiong','ol_huaxiong'],
|
||||
yuanshu:['yl_yuanshu','yuanshu','re_yuanshu','old_yuanshu','ol_yuanshu'],
|
||||
gongsunzan:['dc_gongsunzan','re_gongsunzan','xin_gongsunzan','gongsunzan'],
|
||||
lvbu:['lvbu','re_lvbu','jsrg_lvbu','ps_lvbu'],
|
||||
diaochan:['diaochan','re_diaochan','sb_diaochan'],
|
||||
huatuo:['huatuo','re_huatuo','old_huatuo'],
|
||||
huaxiong:['huaxiong','re_huaxiong','old_huaxiong','sb_huaxiong','ol_huaxiong'],
|
||||
yuanshu:['yuanshu','re_yuanshu','yl_yuanshu','old_yuanshu','ol_yuanshu'],
|
||||
gongsunzan:['gongsunzan','re_gongsunzan','dc_gongsunzan','xin_gongsunzan'],
|
||||
re_lidian:['re_lidian','old_re_lidian','junk_lidian'],
|
||||
},
|
||||
translate:{
|
||||
|
|
140
character/tw.js
140
character/tw.js
|
@ -323,7 +323,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var target=_status.event.target;
|
||||
if(target.countCards('h')-player.countCards('h')>target.countCards('h')/4||get.attitude(player,target)>0) return 0;
|
||||
return 1;
|
||||
});
|
||||
}).set('target',target);
|
||||
}
|
||||
'step 3'
|
||||
if(result.index==0){
|
||||
|
@ -728,30 +728,35 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
global:'twzhuiting_global',
|
||||
subSkill:{
|
||||
global:{
|
||||
hiddenCard:function(player,name){
|
||||
if(name!='wuxie'||!lib.inpile.contains('wuxie')) return false;
|
||||
if(!['wei','qun'].contains(player.group)) return false;
|
||||
return game.hasPlayer(target=>target!=player&&target.hasZhuSkill('twzhuiting'));
|
||||
hiddenWuxie:function(player,info){
|
||||
if(player.group!='wei'&&player.group!='qun') return false;
|
||||
const target=info.target,card=info.card;
|
||||
if(!target||target==player||!target.hasZhuSkill('twzhuiting')) return false;
|
||||
if(_status.connectMode&&player.countCards('hs')>0) return true;
|
||||
const color=get.color(card,false);
|
||||
if(color=='none') return false;
|
||||
return player.hasCard(card=>get.color(card)==color,'hes');
|
||||
},
|
||||
audio:'twzhuiting',
|
||||
forceaudio:true,
|
||||
enable:'chooseToUse',
|
||||
filter:function(event,player){
|
||||
if(!['wei','qun'].contains(player.group)) return false;
|
||||
if(!event.filterCard({name:'wuxie'},player,event)||!lib.inpile.contains('wuxie')) return false;
|
||||
var target=event.getParent(4)[event.getParent(4).name=='phaseJudge'?'player':'target'];
|
||||
var cardx=event.getParent(4).card;
|
||||
return target&&cardx&&target!=player&&target.hasZhuSkill('twzhuiting')&&player.countCards('hes',card=>get.color(card,player)==get.color(cardx));
|
||||
if(event.type!='wuxie'||player.group!='wei'&&player.group!='qun') return false;
|
||||
const info=event.info_map,target=info.target,card=info.card;
|
||||
if(!target||target==player||!target.hasZhuSkill('twzhuiting')) return false;
|
||||
const color=get.color(card,false);
|
||||
if(color=='none') return false;
|
||||
return player.hasCard(card=>get.color(card)==color,'hes');
|
||||
},
|
||||
filterCard:function(card,player){
|
||||
var event=_status.event;
|
||||
return get.color(card,player)==get.color(event.getParent(4).card);
|
||||
filterCard:function(card){
|
||||
const info=_status.event.info_map;
|
||||
return info&&get.color(card)==get.color(info.card,false);
|
||||
},
|
||||
viewAs:{name:'wuxie'},
|
||||
position:'hes',
|
||||
prompt:function(){
|
||||
var event=_status.event;
|
||||
return '将一张'+get.translation(get.color(event.getParent(4).card))+'牌当作【无懈可击】对'+get.translation(event.getParent(4)[event.getParent(4).name=='phaseJudge'?'player':'target'])+'使用';
|
||||
const info=_status.event.info_map;
|
||||
return '将一张'+get.translation(get.color(info.card))+'牌当作【无懈可击】对'+get.translation(info.target)+'使用';
|
||||
},
|
||||
check:function(card){
|
||||
return 8-get.value(card);
|
||||
|
@ -6034,7 +6039,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var list=[];
|
||||
player.getHistory('useCard',function(evt){
|
||||
if(get.type(evt.card)!='basic') return;
|
||||
var name=evt.card.name,nature=evt.card.hasNature()?get.nature(evt.card):'';
|
||||
var name=evt.card.name,nature=game.hasNature(evt.card)?get.nature(evt.card):'';
|
||||
if(!list.contains(name+nature)) list.push(name+nature);
|
||||
});
|
||||
event.addDamage=list.length>1;
|
||||
|
@ -8202,17 +8207,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
enable:['chooseToUse','chooseToRespond'],
|
||||
hiddenCard:function(player,name){
|
||||
if(!['sha','shan'].contains(name)) return false;
|
||||
if(!['sha','shan'].includes(name)) return false;
|
||||
return player.hasCard(function(card){
|
||||
return card.name=='sha'||card.name=='shan';
|
||||
const name2=get.name(card);
|
||||
return (name2=='sha'||name2=='shan')&&name!=name2;
|
||||
},'hs');
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.filterCard({name:'sha'},player,event)||event.filterCard({name:'shan'},player,event)){
|
||||
return player.hasCard(function(card){
|
||||
return card.name=='sha'||card.name=='shan';
|
||||
const names=[];
|
||||
if(event.filterCard({name:'sha'},player,event)) names.push('shan');
|
||||
if(event.filterCard({name:'shan'},player,event)) names.push('sha');
|
||||
return names.length>0&&player.hasCard(function(card){
|
||||
return names.includes(get.name(card));
|
||||
},'hs');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
group:'twchaofeng_compare',
|
||||
|
@ -8251,8 +8258,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'twchaofeng',
|
||||
name:links[0][2],
|
||||
filterCard:function(card,player,target){
|
||||
if(lib.skill.twchaofeng_backup.name=='sha') return card.name=='shan';
|
||||
else return card.name=='sha';
|
||||
if(lib.skill.twchaofeng_backup.name=='sha') return get.name(card)=='shan';
|
||||
else return get.name(card)=='sha';
|
||||
},
|
||||
selectCard:1,
|
||||
check:function(card,player,target){
|
||||
|
@ -8350,7 +8357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'legend',
|
||||
animationColor:'qun',
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -10445,7 +10452,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twlihuo:{
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
return false;
|
||||
},
|
||||
audio:'lihuo',
|
||||
|
@ -10470,7 +10477,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twlihuo2:{
|
||||
trigger:{player:'useCard2'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha'||!event.card.hasNature('fire')) return false;
|
||||
if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false;
|
||||
return game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&player.canUse(event.card,current);
|
||||
});
|
||||
|
@ -14037,13 +14044,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
translate:{
|
||||
tw_beimihu:'TW卑弥呼',
|
||||
tw_beimihu_prefix:'TW',
|
||||
nashime:'难升米',
|
||||
tw_xiahouba:'TW夏侯霸',
|
||||
tw_xiahouba_prefix:'TW',
|
||||
tw_zumao:'TW祖茂',
|
||||
tw_zumao_prefix:'TW',
|
||||
tw_caoang:'TW曹昂',
|
||||
tw_caoang_prefix:'TW',
|
||||
tw_dingfeng:'TW丁奉',
|
||||
tw_caohong:'TW曹洪',
|
||||
tw_dingfeng_prefix:'TW',
|
||||
tw_caohong:'TW将曹洪',
|
||||
tw_caohong_prefix:'TW将',
|
||||
tw_maliang:'TW马良',
|
||||
tw_maliang_prefix:'TW',
|
||||
|
||||
twyanqin:'姻亲',
|
||||
twyanqin_info:'准备阶段,你可以将势力变更为魏或蜀。',
|
||||
|
@ -14073,6 +14087,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
renshe:'忍涉',
|
||||
renshe_info:'当你受到伤害后,你可以选择一项:将势力改为现存的另一个势力;或可以额外发动一次“外使”直到你的下个出牌阶段结束;或与另一名其他角色各摸一张牌。',
|
||||
tw_gexuan:'TW葛玄',
|
||||
tw_gexuan_prefix:'TW',
|
||||
twdanfa:'丹法',
|
||||
twdanfa_info:'准备阶段或结束阶段开始时,你可将一张牌置于武将牌上,称为“丹”。每回合每种花色限一次,当你使用牌时,若“丹”中有与此牌花色相同的牌,则你摸一张牌。',
|
||||
twlingbao:'灵宝',
|
||||
|
@ -14086,6 +14101,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gx_chongyingshenfu:'冲应神符',
|
||||
gx_chongyingshenfu_info:'锁定技。①当你受到牌造成的伤害后,你记录此牌的名称。②当你受到〖冲应神符①〗记录过的牌造成的伤害时,你令此牌伤害-1。',
|
||||
tw_dongzhao:'TW董昭',
|
||||
tw_dongzhao_prefix:'TW',
|
||||
twmiaolve:'妙略',
|
||||
twmiaolve_info:'游戏开始时,你获得两张【瞒天过海】。当你受到1点伤害后,你可选择:①获得一张【瞒天过海】并摸一张牌。②获得一张智囊。',
|
||||
twyingjia:'迎驾',
|
||||
|
@ -14093,6 +14109,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dz_mantianguohai:'瞒天过海',
|
||||
dz_mantianguohai_info:'此牌不计入拥有者的手牌上限。出牌阶段,对一至两名区域内有牌的其他角色使用。你获得目标角色一张牌,然后依次交给每名目标角色各一张牌。',
|
||||
jiachong:'TW贾充',
|
||||
jiachong_prefix:'TW',
|
||||
beini:'悖逆',
|
||||
beini_info:'出牌阶段限一次,你可以选择一名体力值不小于你的角色,令你或其摸两张牌,然后未摸牌的角色视为对摸牌的角色使用一张【杀】。',
|
||||
dingfa:'定法',
|
||||
|
@ -14106,9 +14123,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jintao:'进讨',
|
||||
jintao_info:'锁定技,你使用【杀】无距离限制且次数上限+1。你于出牌阶段内使用的第一张【杀】伤害+1,第二张【杀】不可被响应。',
|
||||
yuejiu:'TW乐就',
|
||||
yuejiu_prefix:'TW',
|
||||
cuijin:'催进',
|
||||
cuijin_info:'当你或你攻击范围内的角色使用【杀】时,你可以弃置一张牌并获得如下效果:此【杀】的伤害值基数+1,且当此【杀】结算结束后,若未造成过伤害,则你对使用者造成1点伤害。',
|
||||
tw_zhaoxiang:'TW赵襄',
|
||||
tw_zhaoxiang_prefix:'TW',
|
||||
twfuhan:'扶汉',
|
||||
twfuhan_info:'限定技。准备阶段开始时时,你可以移去所有"梅影"标记,然后从五张未登场的蜀势力武将牌中选择一名获得其所有技能,将体力上限数调整为以此技能移去所有“梅影”标记的数量(最少为2,最多为8)并回复1点体力,然后从牌堆/弃牌堆/场上获得【梅影枪】。',
|
||||
twqueshi:'鹊拾',
|
||||
|
@ -14116,41 +14135,49 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
meiyingqiang:'梅影枪',
|
||||
meiyingqiang_info:'当你于其他角色的回合内第一次失去牌时,你可以使用一张【杀】。',
|
||||
tw_fuwan:'TW伏完',
|
||||
tw_fuwan_prefix:'TW',
|
||||
twmoukui:'谋溃',
|
||||
twmoukui_info:'当你使用【杀】指定目标后,你可以选择一项:①摸一张牌;②弃置该角色的一张牌;③背水:若此【杀】未因造成伤害而令该角色进入过濒死状态,则该角色弃置你的一张牌。',
|
||||
tw_yujin:'SP于禁',
|
||||
tw_yujin_prefix:'SP',
|
||||
xinzhenjun:'镇军',
|
||||
xinzhenjun_info:'出牌阶段开始时,你可以将一张牌交给一名其他角色,令其选择是否使用一张不为黑色的【杀】。若其选择是,则你于此【杀】结算完成后摸1+X张牌(X为此【杀】造成的伤害总点数)。若其选择否,则你对其或其攻击范围内的一名其他角色造成1点伤害。',
|
||||
tw_hucheer:'TW胡车儿',
|
||||
tw_hucheer_prefix:'TW',
|
||||
twshenxing:'神行',
|
||||
twshenxing_info:'锁定技。若你的装备区内没有坐骑牌,则你至其他角色的距离-1且手牌上限+1。',
|
||||
twdaoji:'盗戟',
|
||||
twdaoji_info:'出牌阶段限一次,你可以弃置一张非基本牌并选择一名攻击范围内的角色,获得其一张牌。若你以此法得到的牌为:基本牌,你摸一张牌;装备牌,你使用此牌并对其造成1点伤害。',
|
||||
tw_hejin:'TW何进',
|
||||
tw_hejin_prefix:'TW',
|
||||
twmouzhu:'谋诛',
|
||||
twmouzhu_info:'出牌阶段限一次,你可以选择一名其他角色A。你令除A外所有体力值小于等于你的其他角色依次选择是否交给你一张牌。若你以此法得到的牌数X:等于0,你和所有进行选择的角色依次失去1点体力。大于0,你令A选择由你视为对其使用一张伤害值基数为X的【杀】或【决斗】。',
|
||||
twyanhuo:'延祸',
|
||||
twyanhuo_info:'当你死亡时,你可以选择一项:①令一名其他角色弃置X张牌。②令X名其他角色依次弃置一张牌。(X为你的牌数)',
|
||||
tw_mayunlu:'TW马云禄',
|
||||
tw_mayunlu_prefix:'TW',
|
||||
twfengpo:'凤魄',
|
||||
twfengpo_info:'①当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的♦数)。②当你杀死一名角色后,你将〖凤魄①〗中的“♦数”改为“红色牌数”。',
|
||||
tw_re_caohong:'TW手杀曹洪',
|
||||
tw_re_caohong_ab:'曹洪',
|
||||
tw_re_caohong:'TW曹洪',
|
||||
tw_re_caohong_prefix:'TW',
|
||||
twyuanhu:'援护',
|
||||
twyuanhu_info:'出牌阶段限一次。你可将一张装备牌置入一名角色的装备区内。若此牌为:武器牌,你弃置与其距离为1的另一名角色区域的一张牌;防具牌,其摸一张牌;坐骑牌或宝物牌,其回复1点体力。然后若其体力值或手牌数不大于你,则你摸一张牌,且你可以于本回合的结束阶段发动一次〖援护〗。',
|
||||
twjuezhu:'决助',
|
||||
twjuezhu_info:'限定技。准备阶段,你可废除一个坐骑栏,令一名角色获得〖飞影〗并废除判定区。该角色死亡后,你恢复以此法废除的装备栏。',
|
||||
tw_zangba:'TW臧霸',
|
||||
tw_zangba_prefix:'TW',
|
||||
twhanyu:'捍御',
|
||||
twhanyu_info:'锁定技。游戏开始时,你获得牌堆中的基本牌,锦囊牌,装备牌各一张。',
|
||||
twhengjiang:'横江',
|
||||
twhengjiang_info:'出牌阶段限一次,当你使用基本牌或普通锦囊牌指定唯一目标后,你可将此牌的目标改为攻击范围内的所有合法目标,然后你于此牌结算结束后摸X张牌(X为因响应此牌而使用或打出过牌的角色数)。',
|
||||
tw_huojun:'TW霍峻',
|
||||
tw_huojun_prefix:'TW',
|
||||
twsidai:'伺怠',
|
||||
twsidai_info:'限定技。出牌阶段,你可以将手牌区内的所有基本牌当做【杀】使用(无距离和次数限制)。若此牌对应的实体牌中:包含【闪】,则目标角色成为此牌的目标后,需弃置一张基本牌,否则不可响应此牌;包含【桃】,则当目标角色受到此牌的伤害后,其减1点体力上限;包含【酒】,则当目标角色受到此牌的伤害时,此伤害×2。',
|
||||
twjieyu:'竭御',
|
||||
twjieyu_info:'每轮限一次。结束阶段开始时,或当你于一轮内第一次受到伤害后,你可以弃置所有手牌,然后从弃牌堆中获得不同牌名的基本牌各一张。',
|
||||
tw_liuhong:'TW刘宏',
|
||||
tw_liuhong_prefix:'TW',
|
||||
twyujue:'鬻爵',
|
||||
twyujue_give:'鬻爵',
|
||||
twyujue_info:'①其他角色的出牌阶段内,可以交给你任意张牌(每阶段上限为两张)。②当你于回合外获得其他角色的一张牌后,你可令其选择本回合内未选择过的一项:⒈弃置攻击范围内一名角色的一张牌。⒉下一次使用牌时,从牌堆中获得一张同类别的牌。',
|
||||
|
@ -14159,6 +14186,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twfengqi:'烽起',
|
||||
twfengqi_info:'主公技,锁定技。①其他群势力角色发动〖鬻爵①〗时,将每阶段上限改为四张。②以其他角色为目标的〖革制②〗结算结束后,目标角色可以获得其武将牌上的主公技。',
|
||||
tw_caocao:'TW曹操',
|
||||
tw_caocao_prefix:'TW',
|
||||
twlingfa:'令法',
|
||||
twlingfa_info:'①第一轮游戏开始时,你可选择获得如下效果直到本轮结束:其他角色使用【杀】时,若其有牌,则其需弃置一张牌,否则受到你造成的1点伤害。②第二轮游戏开始时,你可选择获得如下效果直到本轮结束:其他角色使用【桃】结算结束后,若其有牌,则其需交给你一张牌,否则受到你造成的1点伤害。③第三轮游戏开始时,你失去〖令法〗并获得〖治暗〗。',
|
||||
twzhian:'治暗',
|
||||
|
@ -14185,6 +14213,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twdidao:'地道',
|
||||
twdidao_info:'一名角色的判定牌生效前,你可以打出一张牌作为判定牌并获得原判定牌。若你以此法打出的牌与原判定牌颜色相同,你摸一张牌。',
|
||||
tw_chengpu:'TW程普',
|
||||
tw_chengpu_prefix:'TW',
|
||||
twlihuo:'疠火',
|
||||
twlihuo2:'疠火',
|
||||
twlihuo3:'疠火',
|
||||
|
@ -14192,6 +14221,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twchunlao:'醇醪',
|
||||
twchunlao_info:'①准备阶段,若场上没有“醇”,则你可将一名角色区域内的一张牌置于其武将牌上,称为“醇”。②一名角色使用【杀】时,若其有“醇”,则其可以交给你一张牌,令此【杀】的伤害值基数+1。③一名角色进入濒死状态时,若其有“醇”,则你可以移去“醇”并摸一张牌,然后令其回复1点体力。',
|
||||
tw_guohuai:'TW郭淮',
|
||||
tw_guohuai_prefix:'TW',
|
||||
twjingce:"精策",
|
||||
twjingce_info:"当你于出牌阶段使用第X张牌时,你可以摸两张牌(X为你的体力值)。若此阶段你此前摸过牌或本回合造成过伤害,你获得一枚“策”标记。",
|
||||
yuzhang:"御嶂",
|
||||
|
@ -14204,11 +14234,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twfeifu:'非服',
|
||||
twfeifu_info:'锁定技,转换技。阴:当你成为【杀】的唯一目标后;阳:当你使用【杀】指定唯一目标后;目标角色须交给使用者一张牌。若此牌为装备牌,则使用者可使用此牌。',
|
||||
tw_wangchang:'TW王昶',
|
||||
tw_wangchang_prefix:'TW',
|
||||
twkaiji:'开济',
|
||||
twkaiji_info:'准备阶段,你可令至多X名角色各摸一张牌(X为本局游戏内进入过濒死状态的角色数+1)。若有角色以此法获得了非基本牌,则你摸一张牌。',
|
||||
twshepan:'慑叛',
|
||||
twshepan_info:'每回合限一次。当你成为其他角色使用牌的目标后,你可选择一项:⒈摸一张牌。⒉将其区域内的一张牌置于牌堆顶。然后若你的手牌数与其相等,则你将此技能的发动次数归零,且可以令此牌对你无效。',
|
||||
tw_wangcan:'TW王粲',
|
||||
tw_wangcan_prefix:'TW',
|
||||
twdianyi:'典仪',
|
||||
twdianyi_info:'锁定技。你的回合结束时,若你本回合内:造成过伤害,你弃置所有手牌;未造成过伤害,你将手牌数调整至四张。',
|
||||
twyingji:'应机',
|
||||
|
@ -14217,14 +14249,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twshanghe:'觞贺',
|
||||
twshanghe_info:'限定技。当你进入濒死状态时,你可令所有其他角色依次交给你一张牌;若这些牌中没有【酒】,则你将体力回复至1点。',
|
||||
tw_wujing:'TW吴景',
|
||||
tw_wujing_prefix:'TW',
|
||||
twfenghan:'锋捍',
|
||||
twfenghan_info:'每回合限一次。当你使用【杀】或伤害类锦囊牌指定第一个目标后,你可令至多X名角色各摸一张牌(X为此牌的目标数)。',
|
||||
twcongji:'从击',
|
||||
twcongji_info:'当你的红色牌于回合外因弃置而进入弃牌堆后,你可令一名其他角色获得这些牌。',
|
||||
old_quancong:'TW全琮',
|
||||
old_quancong_prefix:'TW',
|
||||
zhenshan:'振赡',
|
||||
zhenshan_info:'每回合限一次,当你需要使用或打出一张基本牌时,你可以与一名手牌数少于你的角色交换手牌,视为使用或打出此牌。',
|
||||
tw_tianyu:'TW田豫',
|
||||
tw_tianyu_prefix:'TW',
|
||||
gz_tw_tianyu:'田豫',
|
||||
twzhenxi:'震袭',
|
||||
twzhenxi_info:'每回合限一次。当你使用【杀】指定目标后,你可选择一项:⒈弃置其X张手牌(X为你至其的距离);⒉将其装备区或判定区内的一张牌移动到另一名角色的装备区或判定区内。若其体力值大于你或其体力值为全场最高,则你可以改为依次执行以上两项。',
|
||||
twyangshi:'扬师',
|
||||
|
@ -14267,6 +14303,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twlinglu:'令戮',
|
||||
twlinglu_info:'强令:①任务:执行角色于其下回合结束前造成的伤害不小于2点。②成功:其摸两张牌。③失败:其失去1点体力。',
|
||||
tw_mateng:'TW马腾',
|
||||
tw_mateng_prefix:'TW',
|
||||
twxiongzheng:'雄争',
|
||||
twxiongzheng_info:'一轮游戏开始时,①若你上一轮发动过〖雄争〗且选择过“雄争”角色,你可以选择一项:1.视为对任意名上一轮内未对“雄争”角色造成过伤害的角色依次使用一张【杀】;2.令任意名上一轮对“雄争”角色造成过伤害的角色摸两张牌。②你可以选择一名未以此法选择过的角色,称为“雄争”角色。',
|
||||
twluannian:'乱年',
|
||||
|
@ -14282,6 +14319,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twshigong:'示恭',
|
||||
twshigong_info:'限定技。当你于回合外进入濒死状态时,你可以令当前回合角色选择一项:1.加1点体力上限并回复1点体力,摸一张牌,然后令你将体力回复至体力上限;2.弃置X张手牌,然后令你将体力回复至1点(X为其体力值)。',
|
||||
tw_wangling:'TW王淩',
|
||||
tw_wangling_prefix:'TW',
|
||||
twmibei:'秘备',
|
||||
twmibei_info:'使命技。①使命:使用每种类型且牌名不同的牌各两张。②成功:当你使用牌后,若你于本次事件完成了〖秘备①〗的使命,你获得〖谋立〗。③失败:出牌阶段结束时,若你本回合未使用过牌,你本回合手牌上限-1并重置〖秘备〗。',
|
||||
twxingqi:'星启',
|
||||
|
@ -14290,22 +14328,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twmouli_backup:'谋立',
|
||||
twmouli_info:'每回合限一次。你可以使用牌堆中的一张基本牌。',
|
||||
tw_zhugeguo:'TW诸葛果',
|
||||
tw_zhugeguo_prefix:'TW',
|
||||
twqirang:'祈禳',
|
||||
twqirang_info:'当有装备牌进入你的装备区时,你可以从牌堆中获得一张锦囊牌,你本阶段使用此牌无距离限制且不可被响应,且当你使用此牌时,你可以为这张牌增加或减少一个目标。',
|
||||
twyuhua:'羽化',
|
||||
twyuhua_info:'锁定技。①你的非基本牌不计入手牌上限。②当你于回合外失去牌后,若其中有非基本牌,你可以卜算X,然后你可以摸X张牌(X为其中非基本牌数且至多为5)。',
|
||||
tw_fanchou:'TW樊稠',
|
||||
tw_fanchou_prefix:'TW',
|
||||
twxingluan:'兴乱',
|
||||
twxingluan_info:'结束阶段,你可以亮出牌堆顶的六张牌,然后你可以选择一种类型的牌并分配给任意角色(每名角色至多三张)。然后所有以此法得到过牌且得到的牌数不少于你的角色失去1点体力。',
|
||||
tw_xujing:'TW许靖',
|
||||
tw_xujing_prefix:'TW',
|
||||
twboming:'博名',
|
||||
twboming_info:'①出牌阶段限两次。你可以将一张牌交给一名其他角色。②结束阶段,若所有其他角色于此回合得到的牌数之和大于1,你摸两张牌。',
|
||||
twejian:'恶荐',
|
||||
twejian_info:'当其他角色得到你的牌后,若其有其他与此牌类型相同的牌,你可以令其选择一项:1.受到你造成的1点伤害;2.弃置这些牌。',
|
||||
tw_zhangfei:'TW张飞',
|
||||
tw_zhangfei_prefix:'TW',
|
||||
twxuhe:'虚吓',
|
||||
twxuhe_info:'当你使用的【杀】被【闪】抵消时,你可以令其选择一项:1.受到你造成的1点伤害;2.本回合你使用的下一张牌对其造成伤害时,此伤害+2。',
|
||||
tw_xuezong:'TW薛综',
|
||||
tw_xuezong_prefix:'TW',
|
||||
twjiexun:'诫训',
|
||||
twjiexun_info:'结束阶段,你可以选择一个花色并令一名其他角色摸等同于场上此花色牌数张牌,然后其弃置X张牌。若其以此法弃置了所有牌,你选择一项:1.摸X张牌,然后将X归零;2.修改〖复难〗和〖诫训〗(X为此前〖诫训〗的发动次数)。',
|
||||
twfunanx:'复难·改',
|
||||
|
@ -14313,6 +14356,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twfunanx_info:'当其他角色使用或打出牌响应你使用的牌时,你可获得其使用或打出的牌。',
|
||||
twjiexunx_info:'结束阶段,你可选择一个花色并令一名其他角色摸等同于场上此花色牌数张牌,然后其弃置X张牌(X为此前〖诫训〗的发动次数)。',
|
||||
tw_zhangning:'TW张宁',
|
||||
tw_zhangning_prefix:'TW',
|
||||
twxingzhui:'星坠',
|
||||
twxingzhui_info:'出牌阶段限一次。你可以失去1点体力并施法:亮出牌堆顶2X张牌,若其中有黑色牌,则你可令一名其他角色获得这些黑色牌。若黑色牌的数量不小于X,则你对其造成X点雷电伤害。',
|
||||
twjuchen:'聚尘',
|
||||
|
@ -14333,11 +14377,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twyouye:'攸业',
|
||||
twyouye_info:'锁定技。①其他角色的结束阶段,若其本回合未对你造成过伤害且“蓄”数小于5,你将牌堆顶的牌置于武将牌上,称为“蓄”。②当你造成或受到伤害后,若你有“蓄”,你将所有“蓄”分配给任意角色(若当前回合角色存活,则你至少为当前回合角色分配一张)。',
|
||||
tw_xunchen:'TW荀谌',
|
||||
tw_xunchen_prefix:'TW',
|
||||
twweipo:'危迫',
|
||||
twweipo_info:'出牌阶段限一次。你可以令一名角色弃置一张牌,然后令其获得一张【兵临城下】或一张由你选择的智囊牌。',
|
||||
twmouzhi:'谋识',
|
||||
twmouzhi_info:'锁定技。当你受到伤害时,若伤害渠道对应的牌和你上次受到的伤害渠道对应的牌颜色相同,则你防止此伤害。',
|
||||
tw_jiangqing:'TW蒋钦',
|
||||
tw_jiangqing_prefix:'TW',
|
||||
twshangyi:'尚义',
|
||||
twshangyi_info:'出牌阶段限一次。你可以弃置一张牌并选择一名有手牌的其他角色,你令其观看你的手牌,然后你观看其手牌并选择一项:1.弃置其中一张牌;2.与其交换一张手牌。若你以此法弃置了其的黑色牌,或你与其交换的两张牌均为红色,你摸一张牌。',
|
||||
twxiangyu:'翔羽',
|
||||
|
@ -14345,23 +14391,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twgyshenxing:'慎行',
|
||||
twgyshenxing_info:'出牌阶段,你可以弃置X张牌,然后摸一张牌并获得1枚“慎”标记(X为你的“慎”数且至多为2)。',
|
||||
tw_guyong:'TW顾雍',
|
||||
tw_guyong_prefix:'TW',
|
||||
twbingyi:'秉壹',
|
||||
twbingyi_info:'结束阶段,你可以展示所有手牌,若这些牌的颜色均相同或类别均相同,你可以令至多Y名角色各摸一张牌(Y为你的手牌数)。若你以此法展示的牌数大于1且这些牌的颜色均相同且类别均相同,你移去所有“慎”。',
|
||||
twyilie:'毅烈',
|
||||
twyilie_info:'出牌阶段开始时,你可以选择一项:1.本阶段内使用【杀】的次数上限+1;2.本回合内使用【杀】指定处于连环状态的目标后,或使用【杀】被【闪】抵消时,摸一张牌;3.背水:失去1点体力,然后依次执行上述所有选项。',
|
||||
tw_chendong:'TW陈武董袭',
|
||||
tw_chendong_prefix:'TW',
|
||||
twfenming:'奋命',
|
||||
twfenming_info:'准备阶段,你可以选择一名其他角色并选择一项:1.令其弃置一张牌;2.令其横置;3.背水:横置,然后依次执行上述所有选项。',
|
||||
tw_handang:'TW韩当',
|
||||
tw_handang_prefix:'TW',
|
||||
twgongji:'弓骑',
|
||||
twgongji2:'弓骑',
|
||||
twgongji_info:'①你的攻击范围无限。②出牌阶段限一次,你可以弃置一张牌,然后你使用与此牌花色相同的【杀】无任何次数限制直到回合结束。若你以此法弃置的牌为装备牌,则你可以弃置一名其他角色的一张牌。',
|
||||
twjiefan:'解烦',
|
||||
twjiefan_info:'限定技。出牌阶段,你可以选择一名角色,令攻击范围内含有其的所有角色依次选择一项:1.弃置一张武器牌;2.令其摸一张牌。然后当其第一次进入濒死状态后,你重置〖解烦〗。',
|
||||
tw_jiling:'TW纪灵',
|
||||
tw_jiling_prefix:'TW',
|
||||
twshuangren:'双刃',
|
||||
twshuangren_info:'①出牌阶段开始时,你可以与一名角色拼点。若你:赢,你可以视为对至多两名至其的距离不大于1的角色依次使用一张【杀】;没赢,其可以视为对你使用一张【杀】。②出牌阶段结束时,若你本回合未发动过〖双刃①〗且未造成过渠道为【杀】的伤害,你可以弃置一张牌发动〖双刃①〗。',
|
||||
tw_re_fazheng:'TW法正',
|
||||
tw_re_fazheng_prefix:'TW',
|
||||
twxuanhuo:'眩惑',
|
||||
twxuanhuo_info:'摸牌阶段结束时,你可以交给一名其他角色两张牌,然后其选择一项:1.视为对你选择的另一名其他角色使用一张【杀】或【决斗】,2.令你获得其两张牌。',
|
||||
twenyuan:'恩怨',
|
||||
|
@ -14369,6 +14420,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twenyuan2:'恩怨',
|
||||
twenyuan_info:'①当你获得一名其他角色的至少两张牌后,你可以令其摸一张牌,若其手牌区或装备区没有牌,则你可以改为令其回复1点体力。②当你受到1点伤害后,你可令伤害来源选择一项:1.失去1点体力;2.交给你一张手牌,若此牌的花色不为♥,你摸一张牌。',
|
||||
tw_madai:'TW马岱',
|
||||
tw_madai_prefix:'TW',
|
||||
twqianxi:'潜袭',
|
||||
twqianxi2:'潜袭',
|
||||
twqianxi3:'潜袭',
|
||||
|
@ -14376,11 +14428,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twqianxi3_bg:'袭',
|
||||
twqianxi_info:'准备阶段,你可以摸一张牌并弃置一张牌,令一名距离为1的角色本回合不能使用或打出与你弃置的牌颜色相同的手牌。然后本回合的结束阶段,若你本回合对其造成过渠道为【杀】的伤害,你令其不能使用或打出与你以此法弃置的牌颜色不同的牌直到其下回合结束。',
|
||||
tw_niujin:'TW牛金',
|
||||
tw_niujin_prefix:'TW',
|
||||
twcuorui:'挫锐',
|
||||
twcuorui_info:'限定技。准备阶段,你可以将手牌摸至X张(X为场上角色手牌数最多的角色的手牌数,且至多摸5张)。然后若你的判定区:未废除,你废除判定区;已废除,你可以对一名其他角色造成1点伤害。',
|
||||
twliewei:'裂围',
|
||||
twliewei_info:'锁定技。当你杀死一名角色后,你选择一项:1.摸两张牌;2.若你拥有〖挫锐〗且〖挫锐〗已发动过,重置〖挫锐〗。',
|
||||
tw_guanqiujian:'TW毌丘俭',
|
||||
tw_guanqiujian_prefix:'TW',
|
||||
twzhengrong:'征荣',
|
||||
twzhengrong_tag:'荣',
|
||||
twzhengrong_info:'当你于出牌阶段使用牌结算结束后,若此牌为你于本局游戏你的出牌阶段内使用的第偶数张指定了其他角色为目标的牌,或你于出牌阶段第一次造成伤害后,你可以将一名其他角色的一张牌置于你的武将牌上,称为“荣”。',
|
||||
|
@ -14392,16 +14446,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twsaotao:'扫讨',
|
||||
twsaotao_info:'锁定技。你使用【杀】和普通锦囊牌不能被响应。',
|
||||
tw_daxiaoqiao:'TW大乔小乔',
|
||||
tw_daxiaoqiao_prefix:'TW',
|
||||
twxingwu:'星舞',
|
||||
twxingwu_info:'弃牌阶段开始时,你可以将一张牌置于武将牌上,称为“星舞”。然后你可移去三张“星舞”,弃置一名其他角色装备区里的所有牌,然后对其造成2点伤害(若其性别包含女性则改为1点伤害)。',
|
||||
twpingting:'娉婷',
|
||||
twpingting_info:'锁定技。①一轮游戏开始时或其他角色于你的回合内进入濒死状态时,你摸一张牌并将一张牌置于武将牌上,称为“星舞”。②若你有“星舞”,你视为拥有〖天香〗和〖流离〗。',
|
||||
tw_furong:'TW傅肜',
|
||||
tw_furong_prefix:'TW',
|
||||
twxuewei:'血卫',
|
||||
twxuewei_info:'每轮限一次。一名其他角色A的出牌阶段开始时,你可以选择另一名其他角色B,然后你令A选择一项:1.本回合不能对B使用【杀】且手牌上限-2;2.你视为对A使用一张【决斗】。',
|
||||
twliechi:'烈斥',
|
||||
twliechi_info:'当你受到伤害后,若伤害来源的体力值不小于你,你可以选择一项:1.令其将手牌数弃置至与你的手牌数相同;2.弃置其一张牌;3.背水:若你本回合进入过濒死状态,弃置一张装备牌,然后依次执行上述所有选项。',
|
||||
tw_yl_luzhi:'TW卢植',
|
||||
tw_yl_luzhi_prefix:'TW',
|
||||
twmingren:'明任',
|
||||
twmingren_info:'①游戏开始时,你摸一张牌,然后将一张手牌置于武将牌上,称为“任”。②出牌阶段开始时或出牌阶段结束时,你可以用一张牌替换“任”。',
|
||||
twzhenliang:'贞良',
|
||||
|
@ -14413,6 +14470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twfupan:'复叛',
|
||||
twfupan_info:'当你造成或受到伤害后,你可以摸X张牌并将一张牌交给一名其他角色(X为伤害值)。若你此前:未以此法交给过该角色牌,你摸两张牌;以此法交给过该角色牌,你可{对其造成1点伤害,然后你不能再以此法交给其牌}。',
|
||||
tw_liuzhang:'TW刘璋',
|
||||
tw_liuzhang_prefix:'TW',
|
||||
twyaohu:'邀虎',
|
||||
twyaohu_info:'每轮限一次。回合开始时,你须选择场上的一个势力。该势力的角色的出牌阶段开始时,其获得你的一张“生”,然后其须选择一项:1.对你指定的另一名的其他角色使用一张【杀】(无距离限制);2.本回合其使用伤害牌指定你为目标时须交给你两张牌,否则取消此目标。',
|
||||
tw_liwei:'李遗',
|
||||
|
@ -14434,16 +14492,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twtanfeng:'探锋',
|
||||
twtanfeng_info:'准备阶段,你可以弃置一名其他角色区域内的一张牌,然后其选择一项:1.受到你造成的1点火焰伤害,然后令你跳过本回合的一个阶段(准备阶段和结束阶段除外);2.将一张牌当做【杀】对你使用(有距离限制)。',
|
||||
tw_zongyu:'TW宗预',
|
||||
tw_zongyu_prefix:'TW',
|
||||
twzhibian:'直辩',
|
||||
twzhibian_info:'出牌阶段开始时,你可以与一名其他角色拼点。若你赢,你可以选择一项:{1.将其区域里的一张牌移动到你的对应区域;2.回复1点体力;3.背水:弃置一张非基本牌,然后依次执行上述所有选项};若你没赢,你失去1点体力。',
|
||||
twyuyan:'御严',
|
||||
twyuyan_info:'锁定技。当你成为体力值大于你的角色使用的【杀】的目标时,你令使用者选择一项:1.交给你一张点数大于此【杀】的牌(若此【杀】无点数则改为非基本牌)。2.取消此目标。',
|
||||
tw_zhouchu:'TW周处',
|
||||
tw_zhouchu_prefix:'TW',
|
||||
twguoyi:'果毅',
|
||||
twguoyi_info:'当你不因〖果毅〗使用【杀】或普通锦囊牌指定一名其他角色为目标后,若其体力值或手牌数最大,或你的手牌数不大于X(X为你已损失的体力值+1),你可令其选择一项:1.本回合不能使用或打出手牌;2.弃置X张牌。若条件均满足,或其于本回合两个选项均已选择过,则你于此牌结算结束后依次视为对此牌的所有目标使用一张名称和属性相同的牌。',
|
||||
twchuhai:'除害',
|
||||
twchuhai_info:'使命技。①使命:令至少两名其他角色进入濒死状态。②成功:一名角色的回合结束时,若你于本回合完成了〖除害①〗的使命,你废除判定区,然后每名其他角色依次交给你一张牌。③当你获得其他角色的牌后,你须将其中的一张牌置入弃牌堆。',
|
||||
tw_qiaogong:'TW桥公',
|
||||
tw_qiaogong_prefix:'TW',
|
||||
twyizhu:'遗珠',
|
||||
twyizhu_info:'①结束阶段,你摸两张牌,然后将两张牌随机插入牌堆前2X张牌的位置中,称为“遗珠”(X为角色数,选择牌的牌名对其他角色可见)。②当有其他角色使用“遗珠”指定唯一目标时,你可以选择一项:1.增加一个目标;2.取消此目标,增加一个目标。然后移除此牌对应的“遗珠”记录并摸一张牌。',
|
||||
twluanchou:'鸾俦',
|
||||
|
@ -14451,22 +14512,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twgonghuan:'共患',
|
||||
twgonghuan_info:'每回合限一次。当其他角色受到伤害时,若其拥有〖共患〗且其体力值不大于你,你可以将此伤害转移给你(不触发〖共患〗)。',
|
||||
tw_qiaorui:'TW桥蕤',
|
||||
tw_qiaorui_prefix:'TW',
|
||||
wangxing:'妄行',
|
||||
twxiawei:'狭威',
|
||||
twxiawei_info:'①游戏开始时,你将牌堆中的两张基本牌置于武将牌上,称为“威”。②回合开始时,你将所有“威”置入弃牌堆。③你可以将“威”如手牌般使用或打出。④妄行:准备阶段,你可以将牌堆顶的X+1张牌置于武将牌上,称为“威”。',
|
||||
twqiongji:'穷技',
|
||||
twqiongji_info:'锁定技。①每回合限一次。当你使用或打出“威”后,你摸一张牌。②当你受到伤害时,若你没有“威”,此伤害+1。',
|
||||
tw_bianfuren:'TW卞夫人',
|
||||
tw_bianfuren_prefix:'TW',
|
||||
twwanwei:'挽危',
|
||||
twwanwei_info:'每回合限一次。当一名体力值最小的角色受到伤害时:若该角色不为你,你可以防止此伤害,然后失去1点体力;若该角色为你,或你的体力上限最大,你可以于当前回合的结束阶段获得牌堆顶的牌并展示牌堆底的牌,若展示的牌能被使用,你使用之。',
|
||||
twyuejian:'约俭',
|
||||
twyuejian_info:'出牌阶段限一次。你可以将X张牌置于牌堆顶或牌堆底(X为你的手牌数减你的手牌上限且至少为1)。若你以此法失去的牌数:不小于3,你的体力上限+1;不小于2,你回复1点体力;不小于1,你的手牌上限+1。',
|
||||
tw_chenzhen:'TW陈震',
|
||||
tw_chenzhen_prefix:'TW',
|
||||
twmuyue:'睦约',
|
||||
twmuyue_info:'出牌阶段限一次。你可以弃置一张牌并选择一个基本牌或普通锦囊牌的牌名,然后令一名角色从牌堆中获得一张此牌名的牌。若你以此法弃置的牌的牌名与你选择的牌名相同,你下次发动〖睦约〗无需弃牌。',
|
||||
twchayi:'察异',
|
||||
twchayi_info:'结束阶段,你可以选择一名其他角色,令其选择一项:1.展示所有手牌;2.下次使用牌时弃置一张牌。该角色的下个回合结束时,若其手牌数与其上一次成为〖察异〗目标后的手牌数不相同,其执行另一项。',
|
||||
tw_feiyi:'TW费祎',
|
||||
tw_feiyi_prefix:'TW',
|
||||
twshengxi:'生息',
|
||||
twshengxi_info:'①准备阶段,你可以获得一张【调剂盐梅】。②结束阶段,若你本回合使用过牌且未造成伤害,则你可以获得一张智囊并摸一张牌。',
|
||||
twkuanji:'宽济',
|
||||
|
@ -14481,19 +14546,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twzhenhu_info:'当你使用伤害牌指定第一个目标时,你可以摸一张牌并与至多三名其他角色共同拼点。若你赢,此牌对所有本次拼点没赢的角色造成的伤害+1;若你没赢,你失去1点体力。',
|
||||
twlvren:'履刃',
|
||||
twlvren_info:'①当你对其他角色造成伤害时,你令其获得1枚“刃”标记。②当你使用伤害牌时,你可以额外指定一名有“刃”的角色并移去其所有“刃”。③你的拼点牌点数+2X(X为参与此次拼点的角色数)。',
|
||||
xia_tongyuan:'TW童渊',
|
||||
xia_tongyuan:'侠童渊',
|
||||
xia_tongyuan_prefix:'侠',
|
||||
twchaofeng:'朝凤',
|
||||
twchaofeng_backup:'朝凤',
|
||||
twchaofeng_info:'①你可以将一张【杀】当做【闪】、【闪】当做任意一种【杀】使用或打出。②出牌阶段开始时,你可以与至多三名角色共同拼点。赢的角色视为对所有没赢的角色使用一张火【杀】。',
|
||||
twchuanshu:'传术',
|
||||
twchuanshu_info:'限定技。准备阶段,你可以选择一名角色。直到你的下回合开始,其获得以下效果:1.当其拼点牌亮出时,此牌点数+3;2.其使用的下一张【杀】对除你外的角色造成伤害时,此伤害+1;3.若其不为你,其使用的下一张【杀】结算结束后,你摸等同于其因此【杀】造成的伤害值数的牌。',
|
||||
xia_xushu:'侠徐庶',
|
||||
xia_xushu_prefix:'侠',
|
||||
twjiange:'剑歌',
|
||||
twjiange_info:'每回合限一次。你可以将一张非基本牌当做【杀】使用或打出(无距离和次数限制,且不计入次数)。若此时不为你的回合,你摸一张牌。',
|
||||
twxiawang:'侠望',
|
||||
twxiawang_info:'当一名角色受到伤害后,若你至其的距离不大于1,你可以对伤害来源使用一张【杀】。当此【杀】结算结束后,若你造成过渠道为此牌的伤害,结束当前阶段。',
|
||||
tw_tongyuan:'TW童渊',
|
||||
tw_haomeng:'TW郝萌',
|
||||
tw_haomeng_prefix:'TW',
|
||||
twgongge:'攻阁',
|
||||
twgongge_info:'摧坚:你可以选择一项:1.摸X+1张牌。其响应此牌后,跳过你的下一个摸牌阶段;2.弃置其X+1张牌。此牌结算结束后,若其体力值不小于你,你交给其X张牌;3.此牌对其造成的伤害+X。此牌结算结束后,其回复X点体力。',
|
||||
tw_weixu:'魏续',
|
||||
|
@ -14502,26 +14569,32 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twtuidao:'颓盗',
|
||||
twtuidao_info:'限定技。准备阶段,若“随征”角色的体力值不大于2或“随征”角色已死亡,你可以废除你与其的一个坐骑栏并选择一个类别,然后若“随征”角色存活,你获得其所有此类别的牌,否则你从牌堆中获得两张此类别的牌。然后你将“随征”角色改为另一名角色。',
|
||||
tw_caoxiu:'TW曹休',
|
||||
tw_caoxiu_prefix:'TW',
|
||||
twqianju:'千驹',
|
||||
twqianju_info:'锁定技。①你计算与其他角色的距离-X(X为你装备区的牌数)。②每回合限一次。当你对距离为1以内的角色造成伤害后,若你的装备区存在空置装备栏,你从牌堆或弃牌堆中将一张你空置装备栏对应副类别的装备牌置于你的装备区。',
|
||||
twqingxi:'倾袭',
|
||||
twqingxi_info:'当你使用张【杀】指定目标后,若此牌为你于本回合使用的第一张【杀】,你可以令目标角色选择一项:1.令你摸Y张牌,此【杀】不可被其响应(Y为你装备区的牌数且至少为1);2.若其装备区里有牌,弃置装备区里的所有牌,然后弃置你装备区里的等量张牌,令此【杀】对其造成的伤害+1。',
|
||||
tw_sunyi:'TW孙翊',
|
||||
tw_sunyi_prefix:'TW',
|
||||
twzaoli:'躁厉',
|
||||
twzaoli_info:'锁定技。①出牌阶段,你只能使用或打出你本回合得到的手牌。②出牌阶段开始时,你须弃置你区域内的所有装备牌并弃置任意张非装备手牌,你摸等量的牌,从牌堆中将你此次弃置的装备牌对应副类别的装备牌置入装备区。若你以此法置入了超过两张装备牌,你失去1点体力。',
|
||||
tw_yangyi:'TW杨仪',
|
||||
tw_yangyi_prefix:'TW',
|
||||
twgongsun:'共损',
|
||||
twgongsun_shadow:'共损',
|
||||
twgongsun_info:'锁定技。出牌阶段开始时,你选择攻击范围内的一名其他角色并选择一种花色,直至你的下个回合开始前或你死亡时,你与其均无法使用、打出或弃置该花色的手牌。',
|
||||
tw_dengzhi:'TW邓芝',
|
||||
tw_dengzhi_prefix:'TW',
|
||||
twjimeng:'急盟',
|
||||
twjimeng_info:'出牌阶段限一次。你可以获得一名其他角色区域内的一张牌,然后交给其一张牌。若其体力值不小于你,你摸一张牌。',
|
||||
xia_lusu:'侠鲁肃',
|
||||
xia_lusu_prefix:'侠',
|
||||
twkaizeng:'慨赠',
|
||||
twkaizeng_info:'其他角色的出牌阶段限一次。其可以选择一种基本牌的牌名或非基本牌的类型,然后令你选择是否交给其任意张手牌。若你以此法:交给其至少两张牌,你摸一张牌;交给其的牌中包含其选择的牌名或类型的牌,你获得一张与此牌名或类型不同的牌。',
|
||||
twyangming:'扬名',
|
||||
twyangming_info:'出牌阶段结束时,你可以摸X张牌,且令本回合的手牌上限+X(X为你本阶段使用过的牌的类型数)。',
|
||||
xia_dianwei:'侠典韦',
|
||||
xia_dianwei_prefix:'侠',
|
||||
twliexi:'烈袭',
|
||||
twliexi_info:'准备阶段,你可以弃置任意张牌并选择一名其他角色。若你以此法弃置的牌数大于其体力值,你对其造成1点伤害;否则其对你造成1点伤害。然后若你弃置的牌中有武器牌,你对其造成1点伤害。',
|
||||
twshezhong:'慑众',
|
||||
|
@ -14551,9 +14624,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twjuxiang:'踞襄',
|
||||
twjuxiang_info:'主公技,其他群势力角色出牌阶段限一次,其可以选择其装备区的一张牌移动到你的装备区中,若你对应的装备栏已被废除,则改为交给你此装备牌,然后恢复你的对应装备栏。',
|
||||
tw_ol_sunjian:'TW孙坚',
|
||||
tw_ol_sunjian_prefix:'TW',
|
||||
twpolu:'破虏',
|
||||
twpolu_info:'主公技,当吴势力角色杀死一名角色或死亡后,你可以令任意名角色各摸X张牌(X为你此前发动过此技能的次数+1)。',
|
||||
tw_menghuo:'TW孟获',
|
||||
tw_menghuo_prefix:'TW',
|
||||
twqiushou:'酋首',
|
||||
twqiushou_info:'主公技,锁定技,当一张【南蛮入侵】结算结束后,若此牌造成的伤害大于3点或有角色因此死亡,所有蜀势力和群势力角色各摸一张牌。',
|
||||
twzhuiting:'坠廷',
|
||||
|
@ -14561,6 +14636,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twniju:'逆拒',
|
||||
twniju_info:'主公技,当你的拼点牌亮出后,你可以令其中一张拼点牌的点数+X或-X,然后若这两张牌的点数相等,你摸X张牌(X为场上群势力角色数)。',
|
||||
ol_liuyu:'TW刘虞',
|
||||
ol_liuyu_prefix:'TW',
|
||||
twchongwang:'崇望',
|
||||
twchongwang_info:'主公技,其他群势力角色的出牌阶段开始时,其可以交给你一张牌,然后你与其使用【杀】或伤害性锦囊牌指定目标时不能指定对方为目标直至你的下回合结束(每名角色限发动一次)。',
|
||||
tw_zhangzhao:'张昭',
|
||||
|
|
|
@ -133,7 +133,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
var list=[];
|
||||
var list=[],shown=[]
|
||||
var piles=['cardPile','discardPile'];
|
||||
for(var pile of piles){
|
||||
for(var i=0;i<ui[pile].childNodes.length;i++){
|
||||
|
@ -141,19 +141,36 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var number=get.number(card,false);
|
||||
if(!list.contains(card)&&number==8){
|
||||
list.push(card);
|
||||
if(list.length==cards.length) break;
|
||||
if(pile=='discardPile') shown.push(card);
|
||||
if(list.length>=cards.length) break;
|
||||
}
|
||||
}
|
||||
if(list.length>=cards.length) break;
|
||||
}
|
||||
if(list.length){
|
||||
player.gain(list,'gain2').gaintag.add('dcxiongmu_tag');
|
||||
player.addSkill('dcxiongmu_tag');
|
||||
var next=player.gain(list);
|
||||
next.shown_cards=shown;
|
||||
next.set('animate',function(event){
|
||||
var player=event.player,cards=event.cards,shown=event.shown_cards;
|
||||
if(shown.length<cards.length){
|
||||
var num=cards.length-shown.length;
|
||||
player.$draw(num);
|
||||
game.log(player,'从牌堆获得了',num,'张点数为8的牌');
|
||||
}
|
||||
if(shown.length>0){
|
||||
player.$gain2(shown,false);
|
||||
game.log(player,'从弃牌堆获得了',shown);
|
||||
}
|
||||
return 500;
|
||||
});
|
||||
next.gaintag.add('dcxiongmu_tag');
|
||||
player.addTempSkill('dcxiongmu_tag','roundStart');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(target.countCards('h')>=target.getHp()||player.hasSkillTag('jueqing')) return;
|
||||
if(target.countCards('h')>target.getHp()||player.hasSkillTag('jueqing')) return;
|
||||
if(player._dcxiongmu_temp) return;
|
||||
if(_status.event.getParent('useCard',true)||_status.event.getParent('_wuxie',true)) return;
|
||||
if(get.tag(card,'damage')){
|
||||
|
@ -198,9 +215,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
subSkill:{
|
||||
minus:{
|
||||
audio:'dcxiongmu',
|
||||
trigger:{player:'damageBegin4'},
|
||||
filter:function(event,player){
|
||||
return player.countCards('h')<player.hp&&game.getGlobalHistory('everything',evt=>{
|
||||
return player.countCards('h')<=player.getHp()&&game.getGlobalHistory('everything',evt=>{
|
||||
return evt.name=='damage'&&evt.player==player;
|
||||
},event).indexOf(event)==0;
|
||||
},
|
||||
|
@ -3687,7 +3705,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else event.finish();
|
||||
'step 2'
|
||||
var card={name:event.list.shift(),isCard:true};
|
||||
if(player.canUse(card,target,false)) player.useCard(card,target,false);
|
||||
if(target.isIn()&&player.canUse(card,target,false)) player.useCard(card,target,false);
|
||||
if(event.list.length) event.redo();
|
||||
'step 3'
|
||||
player.removeSkill('dccansi_draw');
|
||||
|
@ -3801,7 +3819,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var num=ui.selected.buttons.filter(i=>get.owner(i.link)==target).length;
|
||||
var val=get.buttonValue(button);
|
||||
if(num>2) val/=Math.sqrt(num);
|
||||
if(get.attitude(player,owner)>0) return -val;
|
||||
if(get.attitude(player,target)>0) return -val;
|
||||
return val;
|
||||
//return -(get.position(card)!='h'?get.value(card,target):(4.5+Math.random()-0.2*(num>2?1:0)))*get.attitude(player,target);
|
||||
});
|
||||
|
@ -6302,7 +6320,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.list=list;
|
||||
player.draw(list[0]);
|
||||
'step 1'
|
||||
player.storage.dchuishu_effect=event.list[2];
|
||||
player.addTempSkill('dchuishu_effect');
|
||||
player.chooseToDiscard('h',true,event.list[1]);
|
||||
},
|
||||
|
@ -6315,22 +6332,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(storage,player){
|
||||
var list=lib.skill.dchuishu.getList(player);
|
||||
return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中获得等同于本回合弃牌数的非基本牌。';
|
||||
return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中获得['+list[2]+']张非基本牌。';
|
||||
},
|
||||
},
|
||||
subSkill:{
|
||||
effect:{
|
||||
charlotte:true,
|
||||
audio:'dchuishu',
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
global:'loseAsyncAfter',
|
||||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
filter:function(event,player){
|
||||
var num=player.storage.dchuishu_effect;
|
||||
var num=lib.skill.dchuishu.getList(player)[2];
|
||||
if(typeof num!='number') return false;
|
||||
if(event.type!='discard'||event.getlx===false) return false;
|
||||
var evt=event.getl(player);
|
||||
|
@ -6346,14 +6360,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
return prev>num;
|
||||
},
|
||||
forced:true,
|
||||
popup:false,
|
||||
firstDo:true,
|
||||
content:function(){
|
||||
player.removeSkill('dchuishu_effect');
|
||||
var evt=trigger.getl(player);
|
||||
var num=0;
|
||||
player.getHistory('lose',function(evt){
|
||||
if(evt.type!='discard') return false;
|
||||
num+=evt.cards2.length;
|
||||
});
|
||||
var num=lib.skill.dchuishu.getList(player)[2];
|
||||
var cards=[];
|
||||
for(var i=0;i<num;i++){
|
||||
var card=get.discardPile(function(card){
|
||||
|
@ -11806,6 +11817,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.addSkill('zhafu_hf');
|
||||
target.addMark('zhafu_hf',1);
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
return Math.max(0,1+target.countCards('h')-game.countPlayer(current=>{
|
||||
if(get.attitude(target,current)>0) return 0.3;
|
||||
if(target.hasJudge('lebu')) return 0.6;
|
||||
if(target.inRange(current)) return 1.5;
|
||||
return 1;
|
||||
}));
|
||||
},
|
||||
target:function(player,target){
|
||||
return -Math.max(0,1+target.countCards('h')-game.countPlayer(current=>{
|
||||
if(get.attitude(target,current)>0) return 0.3;
|
||||
if(target.hasJudge('lebu')) return 0.6;
|
||||
if(target.inRange(current)) return 1.5;
|
||||
return 1;
|
||||
}));
|
||||
}
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
hf:{
|
||||
trigger:{
|
||||
|
@ -12179,7 +12211,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
dchuishu:function(player){
|
||||
var list=lib.skill.dchuishu.getList(player);
|
||||
return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中随机获得等同于本回合弃牌数的非基本牌。';
|
||||
return '摸牌阶段结束时,你可以摸['+list[0]+']张牌。若如此做:你弃置['+list[1]+']张手牌,且当你于本回合内弃置第['+list[2]+']+1张牌后,你从弃牌堆中随机获得〖慧淑〗第三个括号数字张非基本牌。';
|
||||
},
|
||||
dcshoutan:function(player){
|
||||
if(player.storage.dcshoutan) return '转换技。出牌阶段限一次,阴:你可以弃置一张不为黑色的手牌。<span class="bluetext">阳:你可以弃置一张黑色手牌。</span>';
|
||||
|
@ -12198,9 +12230,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gexuan:['gexuan','tw_gexuan'],
|
||||
panshu:['panshu','re_panshu'],
|
||||
yangwan:['yangwan','sp_yangwan'],
|
||||
sunyi:['re_sunyi','tw_sunyi','sunyi'],
|
||||
fengfangnv:['re_fengfangnv','fengfangnv'],
|
||||
luotong:['luotong','dc_luotong'],
|
||||
sunyi:['re_sunyi','sunyi','tw_sunyi'],
|
||||
fengfangnv:['fengfangnv','re_fengfangnv'],
|
||||
luotong:['dc_luotong','luotong'],
|
||||
dc_wangchang:['dc_wangchang','tw_wangchang'],
|
||||
guozhao:['guozhao','xin_guozhao'],
|
||||
},
|
||||
|
@ -12287,6 +12319,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yuwei:'余威',
|
||||
yuwei_info:'主公技,锁定技,其他群雄角色的回合内,你将〖诗怨〗改为“每回合每项限两次”。',
|
||||
re_xinxianying:'新杀辛宪英',
|
||||
re_xinxianying_prefix:'新杀',
|
||||
rezhongjian:'忠鉴',
|
||||
rezhongjian2:'忠鉴',
|
||||
rezhongjian_info:'出牌阶段限一次,你可以选择一名本回合内未选择过的角色。你令其获得一项效果直至你的下回合开始:①其下次造成伤害后弃置两张牌,然后你摸一张牌。②其下次受到伤害后摸两张牌,然后你摸一张牌。',
|
||||
|
@ -12345,7 +12378,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
syjiqiao_info:'出牌阶段开始时,你可将牌堆顶的X张牌置于你的武将牌上(X为你的体力上限)。当你于此出牌阶段内使用的牌结算结束后,你可以获得其中的一张牌,然后若剩余牌中红色牌和黑色牌的数量:不相等,你失去1点体力;相等,你回复1点体力。出牌阶段结束时,你将这些牌置入弃牌堆。',
|
||||
syxiongyi:'凶疑',
|
||||
syxiongyi_info:'限定技。当你处于濒死状态时,若剩余武将牌堆中:有“徐氏”,则你可以将体力值回复至3点,并将此武将牌替换为“徐氏”;没有“徐氏”,则你可以将体力值回复至1点并获得〖魂姿〗。',
|
||||
re_zhangbao:'张宝',
|
||||
re_zhangbao:'新杀张宝',
|
||||
re_zhangbao_prefix:'新杀',
|
||||
xinzhoufu:'咒缚',
|
||||
xinzhoufu2:'咒缚',
|
||||
xinzhoufu_info:'出牌阶段限一次。你可以将一张手牌置于一名其他角色的武将牌上并称为“咒”,且当其判定时,将其“咒”作为判定牌。',
|
||||
|
@ -12387,7 +12421,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcjinggong_info:'你可以将一张装备牌当做无距离限制的【杀】使用。当你声明使用此【杀】后,你将此杀的伤害值基数改为X(X为你至此【杀】第一个目标角色的距离且至多为5)。',
|
||||
dcxiaojuan:'骁隽',
|
||||
dcxiaojuan_info:'当你使用牌指定其他角色为唯一目标后,你可以弃置其一半的手牌(向下取整)。若这些牌中有与你使用牌花色相同的牌,则你弃置一张手牌。',
|
||||
dc_liuyu:'刘虞',
|
||||
dc_liuyu:'新杀刘虞',
|
||||
dc_liuyu_prefix:'新杀',
|
||||
dcsuifu:'绥抚',
|
||||
dcsuifu_info:'其他角色的结束阶段开始时,若你和一号位本回合内累计受到过的伤害值大于1,则你可以将该角色的所有手牌置于牌堆顶,然后视为使用一张【五谷丰登】。',
|
||||
dcpijing:'辟境',
|
||||
|
@ -12436,7 +12471,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcpeiqi_info:'当你受到伤害后,你可以移动场上的一张牌。然后若场上所有角色均在彼此的攻击范围内,则你可以再移动场上的一张牌。',
|
||||
quanhuijie:'全惠解',
|
||||
dchuishu:'慧淑',
|
||||
dchuishu_info:'摸牌阶段结束时,你可以摸[3]张牌。若如此做:你弃置[1]张手牌,且当你于本回合内弃置第[2]+1张牌后,你从弃牌堆中随机获得等同于本回合弃牌数的非基本牌。',
|
||||
dchuishu_info:'摸牌阶段结束时,你可以摸[3]张牌。若如此做:你弃置[1]张手牌,且当你于本回合内弃置第[2]+1张牌后,你从弃牌堆中随机获得〖慧淑〗第三个括号数字张非基本牌。',
|
||||
dcyishu:'易数',
|
||||
dcyishu_info:'锁定技。当你不因出牌阶段而失去牌后,你同时令{〖慧淑〗的中括号内最小的一个数字+2}且{〖慧淑〗的中括号内最大的一个数字-1}。',
|
||||
dcligong:'离宫',
|
||||
|
@ -12509,7 +12544,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dczhanmeng:'占梦',
|
||||
dczhanmeng_info:'当你使用牌时,你可以选择本回合未选择过的一项:1.上一回合内,若没有同名牌被使用过,你获得一张非伤害牌;2.下一回合内,当同名牌首次被使用后,你获得一张伤害牌;3.令一名其他角色弃置两张牌,若点数之和大于10,你对其造成1点火焰伤害。',
|
||||
dc_wangyun:'新杀王允',
|
||||
dc_wangyun_ab:'王允',
|
||||
dc_wangyun_prefix:'新杀',
|
||||
dclianji:'连计',
|
||||
dclianji_info:'出牌阶段限一次。你可以弃置一张手牌并选择一名其他角色,其随机使用牌堆中的一张武器牌,然后其选择一项:1.对另一名其他角色使用一张【杀】,并将武器牌交给其中一个目标;2.令你视为对其使用一张【杀】,并将武器牌交给你。',
|
||||
dcmoucheng:'谋逞',
|
||||
|
@ -12585,6 +12620,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dchuayi:'华衣',
|
||||
dchuayi_info:'结束阶段,你可以判定,然后你获得如下效果直到你下回合开始时:红色,其他角色回合结束时,你摸一张牌;黑色,当你受到伤害后,你摸两张牌。',
|
||||
wu_zhugeliang:'武诸葛亮',
|
||||
wu_zhugeliang_prefix:'武',
|
||||
dcjincui:'尽瘁',
|
||||
dcjincui_info:'锁定技。①游戏开始时,你将手牌摸至七张。②准备阶段,你将体力值回复或失去至等同于牌堆中点数为7的牌数(你的体力值最低因此调整至1)。然后你观看牌堆顶X张牌,将这些牌以任意顺序置于牌堆顶或牌堆底(X为你的体力值)。',
|
||||
dcqingshi:'情势',
|
||||
|
@ -12643,16 +12679,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dcxiaoren:'绡刃',
|
||||
dcxiaoren_info:'每回合限一次,当你造成伤害后,你可以进行判定,若结果为:红色,你可以令一名角色回复1点体力;黑色,你可以对受伤角色的上家或下家造成1点伤害,然后你可以重复此方向的伤害流程直到有角色因此死亡或下个目标角色为你。',
|
||||
dc_daxiaoqiao:'新杀大乔小乔',
|
||||
dc_daxiaoqiao_prefix:'新杀',
|
||||
dcxingwu:'星舞',
|
||||
dcxingwu_info:'弃牌阶段开始时,你可以将一张手牌置于武将牌上,称为“星舞”。若你的“星舞”牌达到三张,则你可移去三张“星舞”,弃置一名其他角色装备区里的所有牌,然后对其造成X点伤害(X为移去的“星舞”牌的花色数,若为女性角色则改为1点伤害)。',
|
||||
dcluoyan:'落雁',
|
||||
dcluoyan_info:'锁定技,若你有“星舞”牌,你视为拥有技能〖天香〗和〖流离〗。',
|
||||
dc_xiahouba:'新杀夏侯霸',
|
||||
dc_xiahouba_prefix:'新杀',
|
||||
old_huangfusong:'新杀皇甫嵩',
|
||||
old_huangfusong_prefix:'新杀',
|
||||
dc_sp_machao:'群马超',
|
||||
dc_sp_machao_prefix:'群',
|
||||
dc_shixie:'新杀士燮',
|
||||
dc_shixie_prefix:'新杀',
|
||||
ol_guansuo:'新杀关索',
|
||||
ol_guansuo_prefix:'新杀',
|
||||
dc_zhaoxiang:'新杀赵襄',
|
||||
dc_zhaoxiang_prefix:'新杀',
|
||||
dc_xujing:'许靖',
|
||||
dcshangyu:'赏誉',
|
||||
dcshangyu_tag:'赏誉',
|
||||
|
@ -12660,6 +12703,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dccaixia:'才瑕',
|
||||
dccaixia_info:'当你造成或受到伤害后,若你没有“瑕”,你可以摸至多X张牌并获得X枚“瑕”,然后当你使用牌时,移去1枚“瑕”(X为本局游戏总角色数且至多为5)。',
|
||||
wu_luxun:'武陆逊',
|
||||
wu_luxun_prefix:'武',
|
||||
dcxiongmu:'雄幕',
|
||||
dcxiongmu_tag:'雄幕',
|
||||
dcxiongmu_info:'①一轮游戏开始时,你可以将手牌摸至体力上限(若手牌数不小于体力上限则跳过),然后将任意张牌随机置入牌堆,从牌堆或弃牌堆中获得等量的点数为8的牌,且这些牌不计入手牌上限。②当你于一回合首次受到伤害时,若你的手牌数不大于你的体力值,此伤害-1。',
|
||||
|
|
|
@ -1565,17 +1565,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
characterReplace:{
|
||||
duji:['re_duji','duji','ns_duji'],
|
||||
sp_taishici:['re_sp_taishici','sp_taishici'],
|
||||
duji:['duji','re_duji','ns_duji'],
|
||||
sp_taishici:['sp_taishici','re_sp_taishici'],
|
||||
mazhong:['mazhong','re_mazhong'],
|
||||
wenpin:['re_wenpin','wenpin'],
|
||||
liuyan:['jsrg_liuyan','ol_liuyan','liuyan'],
|
||||
wenpin:['wenpin','re_wenpin'],
|
||||
liuyan:['liuyan','jsrg_liuyan','ol_liuyan'],
|
||||
},
|
||||
translate:{
|
||||
xinghuoliaoyuan:'星火燎原',
|
||||
"sp_taishici":"SP太史慈",
|
||||
sp_taishici_prefix:'SP',
|
||||
wangcan:"王粲",
|
||||
"re_jsp_pangtong":"SP庞统",
|
||||
re_jsp_pangtong_prefix:'SP',
|
||||
lvdai:"吕岱",
|
||||
"re_zhangliang":"张梁",
|
||||
lvqian:"吕虔",
|
||||
|
|
|
@ -302,7 +302,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else playerx.chooseButton([
|
||||
`请选择要视为对${get.translation(player)}使用的牌`,
|
||||
[names,'vcard'],
|
||||
]).set('ai',(button)=>{
|
||||
],true).set('ai',(button)=>{
|
||||
return button.link[0][2]==_status.event.choice;
|
||||
}).set('choice',function(){
|
||||
var list=names.map(name=>{
|
||||
|
@ -6673,15 +6673,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=0,cards=player.getEquips(1);
|
||||
for(var card of cards){
|
||||
var numz=1;
|
||||
var info=get.info(card,false);
|
||||
if(info&&info.distance&&info.distance.attackFrom){
|
||||
numz-=info.distance.attackFrom;
|
||||
}
|
||||
num+=numz;
|
||||
}
|
||||
var num=player.getEquipRange();
|
||||
if(trigger.player.countCards('h')<num){
|
||||
event.directfalse=true;
|
||||
}
|
||||
|
@ -7010,7 +7002,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
lihuo:{
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name=='sha'&&!event.card.hasNature()) return true;
|
||||
if(event.card.name=='sha'&&!game.hasNature(event.card)) return true;
|
||||
return false;
|
||||
},
|
||||
audio:2,
|
||||
|
@ -7038,7 +7030,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
lihuo2:{
|
||||
trigger:{player:'useCard2'},
|
||||
filter:function(event,player){
|
||||
if(event.card.name!='sha'||!event.card.hasNature('fire')) return false;
|
||||
if(event.card.name!='sha'||!game.hasNature(event.card,'fire')) return false;
|
||||
return game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&player.canUse(event.card,current);
|
||||
});
|
||||
|
@ -9547,13 +9539,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
yanyu2:{
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.getHistory('lose',function(evt){
|
||||
var evt2=evt.getParent();
|
||||
return evt2.name=='useSkill'&&evt2.skill=='yanyu'&&evt.getParent(3)==event;
|
||||
return player.getHistory('useSkill',function(evt){
|
||||
return evt.event.getParent('phaseUse')==event&&evt.skill=='yanyu';
|
||||
}).length>=2;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('yanyu'),'令一名男性角色摸两张牌',function(card,player,target){
|
||||
|
@ -11026,6 +11017,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
juexingji:true,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
derivation:'paiyi',
|
||||
filter:function(event,player){
|
||||
return !player.hasSkill('paiyi')&&player.getExpansions('quanji').length>=3;
|
||||
},
|
||||
|
@ -13274,7 +13266,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return event.player!=player&&event.player.hp<=0&&player.countCards('h')>0;
|
||||
},
|
||||
check:function(event,player){
|
||||
if(get.attitude(player,event.player)<0) return false;
|
||||
if(get.attitude(player,event.player)<=0) return false;
|
||||
if(player.countCards('h',{name:['tao','jiu']})+event.player.hp<0) return false;
|
||||
return true;
|
||||
},
|
||||
|
@ -13897,79 +13889,80 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
characterReplace:{
|
||||
caozhi:['re_caozhi','dc_caozhi','caozhi','ps_caozhi'],
|
||||
zhangchunhua:['re_zhangchunhua','zhangchunhua','mini_zhangchunhua'],
|
||||
yujin:['yujin_yujin','ol_yujin','xin_yujin','yujin','re_yujin'],
|
||||
dc_xushu:['dc_xushu','re_xushu'],
|
||||
caozhi:['caozhi','dc_caozhi','re_caozhi','ps_caozhi'],
|
||||
zhangchunhua:['zhangchunhua','re_zhangchunhua'],
|
||||
yujin:['yujin','yujin_yujin','ol_yujin','sb_yujin','xin_yujin','re_yujin'],
|
||||
dc_xushu:['re_xushu','dc_xushu'],
|
||||
xushu:['xin_xushu','xushu'],
|
||||
fazheng:['re_fazheng','tw_re_fazheng','xin_fazheng','fazheng'],
|
||||
fazheng:['xin_fazheng','re_fazheng','sb_fazheng','tw_re_fazheng','fazheng'],
|
||||
masu:['xin_masu','re_masu','masu'],
|
||||
xusheng:['xin_xusheng','re_xusheng','xusheng','old_xusheng'],
|
||||
wuguotai:['xin_wuguotai','re_wuguotai','wuguotai'],
|
||||
lingtong:['xin_lingtong','re_lingtong','lingtong','old_lingtong'],
|
||||
gaoshun:['xin_gaoshun','re_gaoshun','gaoshun','old_gaoshun'],
|
||||
zhonghui:['re_zhonghui','xin_zhonghui','zhonghui','old_zhonghui','pe_zhonghui'],
|
||||
wangyi:['re_wangyi','wangyi','old_wangyi'],
|
||||
caozhang:['re_caozhang','xin_caozhang','caozhang'],
|
||||
guanzhang:['re_guanzhang','guanzhang','old_guanzhang'],
|
||||
madai:['tw_madai','re_madai','old_madai','madai'],
|
||||
liaohua:['xin_liaohua','re_liaohua','liaohua'],
|
||||
bulianshi:['re_bulianshi','dc_bulianshi','bulianshi','old_bulianshi'],
|
||||
handang:['tw_handang','xin_handang','re_handang','handang','old_handang'],
|
||||
chengpu:['re_chengpu','tw_chengpu','ns_chengpu','chengpu','xin_chengpu'],
|
||||
liubiao:['re_liubiao','xin_liubiao','liubiao','oldre_liubiao','old_liubiao'],
|
||||
manchong:['re_manchong','manchong'],
|
||||
caochong:['re_caochong','caochong','old_caochong'],
|
||||
guohuai:['guohuai','tw_guohuai','re_guohuai','xin_guohuai','ol_guohuai'],
|
||||
jianyong:['re_jianyong','xin_jianyong','jianyong'],
|
||||
panzhangmazhong:['xin_panzhangmazhong','re_panzhangmazhong','panzhangmazhong'],
|
||||
yufan:['xin_yufan','re_yufan','yufan'],
|
||||
zhuran:['re_zhuran','xin_zhuran','zhuran','old_zhuran'],
|
||||
liru:['re_liru','dc_liru','xin_liru','liru','yj_liru'],
|
||||
fuhuanghou:['re_fuhuanghou','xin_fuhuanghou','fuhuanghou','old_fuhuanghou'],
|
||||
chenqun:['dc_chenqun','chenqun','re_chenqun','old_chenqun'],
|
||||
hanhaoshihuan:['re_hanhaoshihuan','hanhaoshihuan'],
|
||||
caozhen:['re_caozhen','xin_caozhen','caozhen','old_caozhen'],
|
||||
wuyi:['re_wuyi','xin_wuyi','wuyi'],
|
||||
xusheng:['xusheng','xin_xusheng','re_xusheng','old_xusheng'],
|
||||
wuguotai:['wuguotai','xin_wuguotai','re_wuguotai'],
|
||||
lingtong:['lingtong','xin_lingtong','re_lingtong','old_lingtong'],
|
||||
gaoshun:['gaoshun','xin_gaoshun','re_gaoshun','old_gaoshun'],
|
||||
zhonghui:['zhonghui','xin_zhonghui','re_zhonghui','old_zhonghui','pe_zhonghui'],
|
||||
wangyi:['wangyi','re_wangyi','old_wangyi'],
|
||||
caozhang:['caozhang','re_caozhang','xin_caozhang'],
|
||||
guanzhang:['guanzhang','re_guanzhang','old_guanzhang'],
|
||||
madai:['old_madai','re_madai','tw_madai','madai'],
|
||||
liaohua:['liaohua','re_liaohua','xin_liaohua'],
|
||||
bulianshi:['bulianshi','dc_bulianshi','re_bulianshi','old_bulianshi'],
|
||||
handang:['handang','xin_handang','re_handang','tw_handang','old_handang'],
|
||||
chengpu:['chengpu','re_chengpu','xin_chengpu','tw_chengpu','ns_chengpu'],
|
||||
liubiao:['liubiao','xin_liubiao','re_liubiao','sb_liubiao','oldre_liubiao','old_liubiao'],
|
||||
manchong:['manchong','re_manchong'],
|
||||
caochong:['caochong','re_caochong','old_caochong'],
|
||||
guohuai:['guohuai','re_guohuai','xin_guohuai','tw_guohuai','ol_guohuai'],
|
||||
jianyong:['jianyong','re_jianyong','xin_jianyong'],
|
||||
panzhangmazhong:['panzhangmazhong','re_panzhangmazhong','xin_panzhangmazhong'],
|
||||
yufan:['yufan','xin_yufan','re_yufan'],
|
||||
zhuran:['zhuran','re_zhuran','xin_zhuran','old_zhuran'],
|
||||
liru:['xin_liru','dc_liru','re_liru','yj_liru','+liru'],
|
||||
fuhuanghou:['fuhuanghou','re_fuhuanghou','xin_fuhuanghou','old_fuhuanghou'],
|
||||
chenqun:['chenqun','dc_chenqun','re_chenqun','old_chenqun'],
|
||||
hanhaoshihuan:['hanhaoshihuan','re_hanhaoshihuan'],
|
||||
caozhen:['caozhen','re_caozhen','xin_caozhen','old_caozhen'],
|
||||
wuyi:['wuyi','re_wuyi','xin_wuyi'],
|
||||
sunluban:['re_sunluban','xin_sunluban','sunluban'],
|
||||
zhuhuan:['re_zhuhuan','xin_zhuhuan','zhuhuan','old_zhuhuan'],
|
||||
caoxiu:['re_caoxiu','tw_caoxiu','xin_caoxiu','caoxiu','old_caoxiu'],
|
||||
xiahoushi:['re_xiahoushi','xiahoushi'],
|
||||
zhangyi:['xin_zhangyi','re_zhangyi','zhangyi'],
|
||||
quancong:['old_quancong','re_quancong','xin_quancong','quancong'],
|
||||
sunxiu:['re_sunxiu','xin_sunxiu','sunxiu'],
|
||||
zhuzhi:['re_zhuzhi','zhuzhi','xin_zhuzhi','old_zhuzhi'],
|
||||
liuyu:['dc_liuyu','liuyu','ol_liuyu'],
|
||||
caoxiu:['caoxiu','re_caoxiu','xin_caoxiu','tw_caoxiu','old_caoxiu'],
|
||||
xiahoushi:['xiahoushi','re_xiahoushi','sb_xiahoushi'],
|
||||
zhangyi:['zhangyi','re_zhangyi','xin_zhangyi'],
|
||||
quancong:['quancong','re_quancong','xin_quancong','old_quancong'],
|
||||
sunxiu:['sunxiu','re_sunxiu','xin_sunxiu'],
|
||||
zhuzhi:['zhuzhi','re_zhuzhi','xin_zhuzhi','old_zhuzhi'],
|
||||
liuyu:['liuyu','dc_liuyu','ol_liuyu'],
|
||||
zhangrang:['zhangrang','ol_zhangrang','junk_zhangrang'],
|
||||
jikang:['re_jikang','jikang','dc_jikang'],
|
||||
xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'],
|
||||
gongsunyuan:['re_gongsunyuan','gongsunyuan'],
|
||||
zhoucang:['re_zhoucang','xin_zhoucang','zhoucang'],
|
||||
guotufengji:['re_guotufengji','guotufengji'],
|
||||
guanping:['re_guanping','guanping'],
|
||||
caifuren:['xin_caifuren','re_caifuren','caifuren'],
|
||||
guyong:['guyong','re_guyong','tw_guyong','xin_guyong'],
|
||||
yj_jushou:['re_jushou','xin_jushou','yj_jushou'],
|
||||
guohuanghou:['re_guohuanghou','guohuanghou'],
|
||||
liuchen:['re_liuchen','liuchen'],
|
||||
liufeng:['re_liufeng','liufeng'],
|
||||
sundeng:['re_sundeng','sundeng','ns_sundeng'],
|
||||
caiyong:['re_caiyong','caiyong'],
|
||||
chengong:['re_chengong','chengong'],
|
||||
xunyou:['re_xunyou','xunyou'],
|
||||
xuezong:['tw_xuezong','xuezong'],
|
||||
jikang:['jikang','re_jikang','dc_jikang'],
|
||||
xinxianying:['xinxianying','re_xinxianying','ol_xinxianying','sp_xinxianying'],
|
||||
gongsunyuan:['gongsunyuan','re_gongsunyuan'],
|
||||
zhoucang:['zhoucang','re_zhoucang','xin_zhoucang'],
|
||||
guotufengji:['guotufengji','re_guotufengji'],
|
||||
guanping:['guanping','re_guanping'],
|
||||
caifuren:['caifuren','re_caifuren','xin_caifuren'],
|
||||
guyong:['guyong','re_guyong','xin_guyong','tw_guyong'],
|
||||
yj_jushou:['yj_jushou','re_jushou','xin_jushou'],
|
||||
guohuanghou:['guohuanghou','re_guohuanghou'],
|
||||
liuchen:['liuchen','re_liuchen'],
|
||||
liufeng:['liufeng','re_liufeng'],
|
||||
sundeng:['sundeng','re_sundeng','ns_sundeng'],
|
||||
caiyong:['caiyong','re_caiyong'],
|
||||
chengong:['chengong','re_chengong','sb_chengong'],
|
||||
xunyou:['xunyou','re_xunyou'],
|
||||
xuezong:['xuezong','tw_xuezong'],
|
||||
huanghao:['huanghao','dc_huanghao','old_huanghao'],
|
||||
caorui:['re_caorui','caorui','old_caorui'],
|
||||
sunziliufang:['dc_sunziliufang','sunziliufang'],
|
||||
caorui:['caorui','re_caorui','old_caorui'],
|
||||
sunziliufang:['sunziliufang','dc_sunziliufang'],
|
||||
liyan:['liyan','old_liyan'],
|
||||
zhangsong:['re_zhangsong','zhangsong'],
|
||||
zhongyao:['re_zhongyao','zhongyao'],
|
||||
zhangsong:['zhangsong','re_zhangsong'],
|
||||
zhongyao:['zhongyao','re_zhongyao'],
|
||||
},
|
||||
translate:{
|
||||
old_huaxiong:'将华雄',
|
||||
old_huaxiong_ab:'华雄',
|
||||
old_huaxiong_prefix:'将',
|
||||
yufan:'虞翻',
|
||||
xushu:'旧徐庶',
|
||||
xushu_prefix:'旧',
|
||||
caozhi:'曹植',
|
||||
zhangchunhua:'张春华',
|
||||
lingtong:'凌统',
|
||||
|
@ -13978,6 +13971,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhuran:'朱然',
|
||||
yujin:'于禁',
|
||||
masu:'旧马谡',
|
||||
masu_prefix:'旧',
|
||||
xin_masu:'马谡',
|
||||
xin_fazheng:'法正',
|
||||
wuguotai:'吴国太',
|
||||
|
@ -13991,6 +13985,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
caifuren:'蔡夫人',
|
||||
zhonghui:'钟会',
|
||||
old_zhonghui:'旧钟会',
|
||||
old_zhonghui_prefix:'旧',
|
||||
sunluban:'孙鲁班',
|
||||
chenqun:'陈群',
|
||||
zhangsong:'张松',
|
||||
|
@ -14002,6 +13997,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
manchong:'满宠',
|
||||
liufeng:'刘封',
|
||||
liru:'旧李儒',
|
||||
liru_prefix:'旧',
|
||||
yj_jushou:'沮授',
|
||||
zhuhuan:'朱桓',
|
||||
xiahoushi:'夏侯氏',
|
||||
|
@ -14026,14 +14022,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
gaoshun:'高顺',
|
||||
xin_liru:'李儒',
|
||||
guohuanghou:'郭皇后',
|
||||
liuyu:'OL刘虞',
|
||||
liuyu:'刘虞',
|
||||
sundeng:'孙登',
|
||||
liyan:'李严',
|
||||
sunziliufang:'孙资刘放',
|
||||
huanghao:'黄皓',
|
||||
zhangrang:'张让',
|
||||
cenhun:'岑昏',
|
||||
xinxianying:'OL辛宪英',
|
||||
xinxianying:'辛宪英',
|
||||
wuxian:'吴苋',
|
||||
xushi:'徐氏',
|
||||
caojie:'曹节',
|
||||
|
@ -14516,6 +14512,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shiyong:'恃勇',
|
||||
shiyong_info:'锁定技,当你受到一次红色【杀】或【酒】【杀】造成的伤害后,须减1点体力上限',
|
||||
old_guanzhang:'旧关兴张苞',
|
||||
old_guanzhang_prefix:'旧',
|
||||
wangyi:'王异',
|
||||
oldqianxi:'潜袭',
|
||||
oldqianxi_info:'当你使用【杀】对距离为1的目标角色造成伤害时,你可以进行一次判定,若判定结果不为红桃,你防止此伤害,令其减1点体力上限',
|
||||
|
|
|
@ -3583,14 +3583,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xuangongzhu:['duyu'],
|
||||
},
|
||||
characterReplace:{
|
||||
yanghu:['dc_yanghu','jin_yanghu','sp_yanghu'],
|
||||
yanghu:['jin_yanghu','dc_yanghu','sp_yanghu'],
|
||||
jiachong:['jin_jiachong','jiachong'],
|
||||
yangyan:['yangyan','old_yangyan'],
|
||||
yangzhi:['yangzhi','old_yangzhi'],
|
||||
},
|
||||
translate:{
|
||||
jin_zhangchunhua:'晋张春华',
|
||||
jin_zhangchunhua_ab:'张春华',
|
||||
jin_zhangchunhua_prefix:'晋',
|
||||
huishi:'慧识',
|
||||
huishi_info:'摸牌阶段,你可以放弃摸牌,改为观看牌堆顶的X张牌,获得其中的一半(向下取整),然后将其余牌置入牌堆底。(X为牌堆数量的个位数)',
|
||||
qingleng:'清冷',
|
||||
|
@ -3599,7 +3599,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xuanmu2:'宣穆',
|
||||
xuanmu_info:'锁定技,隐匿技。你于其他角色的回合登场时,防止你受到的伤害直到回合结束。',
|
||||
jin_simayi:'晋司马懿',
|
||||
jin_simayi_ab:'司马懿',
|
||||
jin_simayi_prefix:'晋',
|
||||
zhanghuyuechen:'张虎乐綝',
|
||||
xijue:'袭爵',
|
||||
xijue_gain:'袭爵',
|
||||
|
@ -3611,7 +3611,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
xijue_xiaoguo:'骁果',
|
||||
xijue_xiaoguo_info:'其他角色的结束阶段开始时,你可以弃置一张基本牌,令该角色选择一项:1.弃置一张装备牌,然后你摸一张牌;2.受到你对其造成的1点伤害。',
|
||||
xijue_xiaoguo_info_guozhan:'其他角色的结束阶段开始时,你可以弃置一张基本牌,令该角色选择一项:1.弃置一张装备牌;2.受到你对其造成的1点伤害。',
|
||||
duyu:'OL杜预',
|
||||
gz_duyu:'杜预',
|
||||
duyu:'晋杜预',
|
||||
duyu_prefix:'晋',
|
||||
sanchen:'三陈',
|
||||
sanchen_info:'出牌阶段限一次。你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌且〖三陈〗于此阶段内使用次数上限+1。',
|
||||
sanchen_info_guozhan:'出牌阶段,你可选择一名本回合内未选择过的角色。其摸三张牌,然后弃置三张牌。若其未以此法弃置牌或以此法弃置的牌的类别均不相同,则其摸一张牌且你获得技能〖破竹〗直到回合结束。否则你本阶段内不能再发动〖三陈〗。',
|
||||
|
@ -3621,7 +3623,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
pozhu_info:'出牌阶段,你可以将一张手牌当做【出其不意】使用。若你未因此牌造成过伤害,则你不能再发动〖破竹〗直到回合结束。',
|
||||
pozhu_info_guozhan:'出牌阶段限一次,你可以将一张手牌当做【出其不意】使用。',
|
||||
jin_wangyuanji:'晋王元姬',
|
||||
jin_wangyuanji_ab:'王元姬',
|
||||
jin_wangyuanji_prefix:'晋',
|
||||
shiren:'识人',
|
||||
shiren_info:'隐匿技。你于其他角色的回合内登场时,若其有手牌,则你可对其发动〖宴戏〗。',
|
||||
yanxi:'宴戏',
|
||||
|
@ -3629,7 +3631,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yanxi_info:'出牌阶段,你可选择一名有手牌的角色。你将该角色的一张随机手牌与牌堆顶的两张牌混合后展示,并选择其中一张。若你以此法选择的是该角色的手牌,则你获得这三张牌。否则你获得选择的牌。你通过〖宴戏〗得到的牌,不计入当前回合的手牌上限。',
|
||||
yanxi_info_guozhan:'出牌阶段,你可选择一名有手牌的角色。你将该角色的一张随机手牌与牌堆中的两张随机牌混合后展示,并选择其中一张。若你以此法选择的是该角色的手牌,则你获得这三张牌。否则你获得选择的牌。你通过〖宴戏〗得到的牌,不计入当前回合的手牌上限。',
|
||||
jin_simazhao:'晋司马昭',
|
||||
jin_simazhao_ab:'司马昭',
|
||||
jin_simazhao_prefix:'晋',
|
||||
tuishi:'推弑',
|
||||
tuishi_info:'隐匿技,你于其他角色A的回合内登场时,可于此回合结束时选择其攻击范围内的一名角色B。A选择一项:①对B使用一张【杀】。②你对A造成1点伤害。',
|
||||
choufa:'筹伐',
|
||||
|
@ -3644,7 +3646,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
chengwu:'成务',
|
||||
chengwu_info:'主公技,锁定技,其他晋势力角色攻击范围内的角色视为在你的攻击范围内。',
|
||||
jin_xiahouhui:'晋夏侯徽',
|
||||
jin_xiahouhui_ab:'夏侯徽',
|
||||
jin_xiahouhui_prefix:'晋',
|
||||
baoqie:'宝箧',
|
||||
baoqie_info:'隐匿技,锁定技。你登场后,从牌堆中获得一张不为赠物的宝物牌。若此牌在你的手牌区内为宝物牌,则你可以使用此牌。',
|
||||
jyishi:'宜室',
|
||||
|
@ -3652,7 +3654,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shiduo:'识度',
|
||||
shiduo_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,你获得其所有手牌。然后你交给其X张手牌(X为你手牌数的一半,向下取整)。',
|
||||
jin_simashi:'晋司马师',
|
||||
jin_simashi_ab:'司马师',
|
||||
jin_simashi_prefix:'晋',
|
||||
taoyin:'韬隐',
|
||||
taoyin2:'韬隐',
|
||||
taoyin_info:'隐匿技,当你登场后,若当前回合角色存在且不是你,则你可令该角色本回合的手牌上限-2。',
|
||||
|
@ -3678,7 +3680,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhuosheng_info:'出牌阶段,①你使用本轮内得到的基本牌时无次数和距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内得到的装备牌时可以摸一张牌(以此法得到的牌不能触发〖擢升〗)。',
|
||||
zhuosheng_info_guozhan:'出牌阶段,①你使用本轮内得到的基本牌时无距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内得到的装备牌时可以摸一张牌(以此法得到的牌不能触发〖擢升〗)。',
|
||||
jin_yanghuiyu:'晋羊徽瑜',
|
||||
jin_yanghuiyu_ab:'羊徽瑜',
|
||||
jin_yanghuiyu_prefix:'晋',
|
||||
gz_jin_yanghuiyu:'羊徽瑜',
|
||||
huirong:'慧容',
|
||||
huirong_info:'隐匿技,锁定技。当你登场后,你令一名角色将手牌数摸至/弃至与体力值相同(至多摸至五张)。',
|
||||
|
@ -3719,6 +3721,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yifa2:'仪法',
|
||||
yifa_info:'锁定技,其他角色使用【杀】或黑色普通锦囊牌指定你为目标后,其手牌上限-1直到其回合结束。',
|
||||
ol_huaxin:'OL华歆',
|
||||
ol_huaxin_prefix:'OL',
|
||||
caozhao:'草诏',
|
||||
caozhao_backup:'草诏',
|
||||
caozhao_info:'出牌阶段限一次,你可展示一张手牌并声明一种未以此法声明过的基本牌或普通锦囊牌,令一名体力不大于你的其他角色选择一项:令此牌视为你声明的牌,或其失去1点体力。然后若此牌声明成功,然后你可将其交给一名其他角色。',
|
||||
|
@ -3751,7 +3754,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
qimei_info:'准备阶段,你可以选择一名其他角色。你获得如下效果直到下回合开始:①每回合限一次,当你或其获得牌/失去手牌后,若你与其手牌数相等,则另一名角色摸一张牌。②每回合限一次,当你或其的体力值变化后,若你与其体力值相等,则另一名角色摸一张牌。',
|
||||
ybzhuiji:'追姬',
|
||||
ybzhuiji_info:'出牌阶段开始时,你可选择一项:①摸两张牌,并于出牌阶段结束时失去1点体力;②回复1点体力,并于出牌阶段结束时弃置两张牌。',
|
||||
jin_yanghu:'OL羊祜',
|
||||
jin_yanghu:'晋羊祜',
|
||||
jin_yanghu_prefix:'晋',
|
||||
huaiyuan:'怀远',
|
||||
huaiyuanx:'绥',
|
||||
huaiyuan_info:'①游戏开始时,你将你的手牌标记为“绥”。②当你失去一张“绥”后,你令一名角色执行一项:⒈其的手牌上限+1。⒉其的攻击范围+1。⒊其摸一张牌。③当你死亡时,你可令一名其他角色的手牌上限+X,且攻击范围+Y(X和Y为你自己被执行过〖怀远②〗的选项一和选项二的次数)。',
|
||||
|
@ -3778,6 +3782,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wangxiang:'王祥',
|
||||
bingxin:'冰心',
|
||||
bingxin_info:'每种牌名每回合限一次。当你需要使用基本牌时,若你的手牌数等于体力值且这些牌的颜色均相同,则你可以摸一张牌,视为使用一张基本牌。',
|
||||
ol_lisu:'OL李肃',
|
||||
ol_lisu_prefix:'OL',
|
||||
qiaoyan:'巧言',
|
||||
qiaoyan_info:'锁定技,当你于回合外受到其他角色造成的伤害时,若你:有“珠”,则你令伤害来源获得“珠”;没有“珠”,则你防止此伤害,然后摸一张牌,并将一张牌正面朝上置于武将牌上,称为“珠”。',
|
||||
xianzhu:'献珠',
|
||||
xianzhu_info:'锁定技,出牌阶段开始时,你令一名角色A获得“珠”。若A不为你自己,则你选择A攻击范围内的一名角色B,视为A对B使用一张【杀】。',
|
||||
|
||||
yingbian_pack1:'文德武备·理',
|
||||
yingbian_pack2:'文德武备·备',
|
||||
|
|
Binary file not shown.
BIN
font/suits.woff2
BIN
font/suits.woff2
Binary file not shown.
|
@ -10459,166 +10459,4 @@
|
|||
|
||||
CodeMirror.defineOption("hintOptions", null);
|
||||
});
|
||||
|
||||
(function (mod) {
|
||||
// Plain browser env
|
||||
mod(CodeMirror);
|
||||
})(function (CodeMirror) {
|
||||
var Pos = CodeMirror.Pos;
|
||||
|
||||
function forEach(arr, f) {
|
||||
for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]);
|
||||
}
|
||||
|
||||
function arrayContains(arr, item) {
|
||||
if (!Array.prototype.indexOf) {
|
||||
var i = arr.length;
|
||||
while (i--) {
|
||||
if (arr[i] === item) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return arr.indexOf(item) != -1;
|
||||
}
|
||||
|
||||
function scriptHint(editor, keywords, getToken, options) {
|
||||
// Find the token at the cursor
|
||||
var cur = editor.getCursor(), token = getToken(editor, cur);
|
||||
if (/\b(?:string|comment)\b/.test(token.type)) return;
|
||||
var innerMode = CodeMirror.innerMode(editor.getMode(), token.state);
|
||||
if (innerMode.mode.helperType === "json") return;
|
||||
token.state = innerMode.state;
|
||||
|
||||
// If it's not a 'word-style' token, ignore the token.
|
||||
if (!/^[\w$_]*$/.test(token.string)) {
|
||||
token = {
|
||||
start: cur.ch, end: cur.ch, string: "", state: token.state,
|
||||
type: token.string == "." ? "property" : null
|
||||
};
|
||||
} else if (token.end > cur.ch) {
|
||||
token.end = cur.ch;
|
||||
token.string = token.string.slice(0, cur.ch - token.start);
|
||||
}
|
||||
|
||||
var tprop = token;
|
||||
// If it is a property, find out what it is a property of.
|
||||
while (tprop.type == "property") {
|
||||
tprop = getToken(editor, Pos(cur.line, tprop.start));
|
||||
if (tprop.string != ".") return;
|
||||
tprop = getToken(editor, Pos(cur.line, tprop.start));
|
||||
if (!context) var context = [];
|
||||
context.push(tprop);
|
||||
}
|
||||
return {
|
||||
list: getCompletions(token, context, keywords, options),
|
||||
from: Pos(cur.line, token.start),
|
||||
to: Pos(cur.line, token.end)
|
||||
};
|
||||
}
|
||||
|
||||
function javascriptHint(editor, options) {
|
||||
return scriptHint(editor, javascriptKeywords,
|
||||
function (e, cur) { return e.getTokenAt(cur); },
|
||||
options);
|
||||
};
|
||||
CodeMirror.registerHelper("hint", "javascript", javascriptHint);
|
||||
|
||||
function getCoffeeScriptToken(editor, cur) {
|
||||
// This getToken, it is for coffeescript, imitates the behavior of
|
||||
// getTokenAt method in javascript.js, that is, returning "property"
|
||||
// type and treat "." as independent token.
|
||||
var token = editor.getTokenAt(cur);
|
||||
if (cur.ch == token.start + 1 && token.string.charAt(0) == '.') {
|
||||
token.end = token.start;
|
||||
token.string = '.';
|
||||
token.type = "property";
|
||||
}
|
||||
else if (/^\.[\w$_]*$/.test(token.string)) {
|
||||
token.type = "property";
|
||||
token.start++;
|
||||
token.string = token.string.replace(/\./, '');
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
||||
function coffeescriptHint(editor, options) {
|
||||
return scriptHint(editor, coffeescriptKeywords, getCoffeeScriptToken, options);
|
||||
}
|
||||
CodeMirror.registerHelper("hint", "coffeescript", coffeescriptHint);
|
||||
|
||||
var stringProps = ("charAt charCodeAt indexOf lastIndexOf substring substr slice trim trimLeft trimRight " +
|
||||
"toUpperCase toLowerCase split concat match replace search").split(" ");
|
||||
var arrayProps = ("length concat join splice push pop shift unshift slice reverse sort indexOf " +
|
||||
"lastIndexOf every some filter forEach map reduce reduceRight ").split(" ");
|
||||
var funcProps = "prototype apply call bind".split(" ");
|
||||
var javascriptKeywords = ("break case catch class const continue debugger default delete do else export extends from false finally for function " +
|
||||
"if in import instanceof let new null return super switch this throw true try typeof var void while with yield").split(" ");
|
||||
var coffeescriptKeywords = ("and break catch class continue delete do else extends false finally for " +
|
||||
"if in instanceof isnt new no not null of off on or return switch then throw true try typeof until void while with yes").split(" ");
|
||||
function forAllProps(obj, callback) {
|
||||
if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {
|
||||
for (var name in obj) callback(name)
|
||||
} else {
|
||||
for (var o = obj; o; o = Object.getPrototypeOf(o))
|
||||
Object.getOwnPropertyNames(o).forEach(callback);
|
||||
}
|
||||
}
|
||||
function getCompletions(token, context, keywords, options) {
|
||||
var found = [], start = token.string, global = options && options.globalScope || window;
|
||||
function maybeAdd(str) {
|
||||
if (str.lastIndexOf(start, 0) == 0 && !arrayContains(found, str)) found.push(str);
|
||||
}
|
||||
function gatherCompletions(obj) {
|
||||
if (typeof obj == "string") forEach(stringProps, maybeAdd);
|
||||
else if (obj instanceof Array) forEach(arrayProps, maybeAdd);
|
||||
else if (obj instanceof Function) forEach(funcProps, maybeAdd);
|
||||
forAllProps(obj, maybeAdd)
|
||||
}
|
||||
|
||||
if (context && context.length) {
|
||||
// If this is a property, see if it belongs to some object we can
|
||||
// find in the current environment.
|
||||
var obj = context.pop(), base;
|
||||
if (obj.type && obj.type.indexOf("variable") === 0) {
|
||||
if (options && options.additionalContext)
|
||||
base = options.additionalContext[obj.string];
|
||||
if (!options || options.useGlobalScope !== false)
|
||||
base = base || global[obj.string];
|
||||
} else if (obj.type == "string") {
|
||||
base = "";
|
||||
} else if (obj.type == "atom") {
|
||||
base = 1;
|
||||
} else if (obj.type == "function") {
|
||||
if (global.jQuery != null && (obj.string == '$' || obj.string == 'jQuery') &&
|
||||
(typeof global.jQuery == 'function'))
|
||||
base = global.jQuery();
|
||||
else if (global._ != null && (obj.string == '_') && (typeof global._ == 'function'))
|
||||
base = global._();
|
||||
}
|
||||
while (base != null && context.length)
|
||||
base = base[context.pop().string];
|
||||
if (base != null) gatherCompletions(base);
|
||||
} else {
|
||||
// If not, just look in the global object, any local scope, and optional additional-context
|
||||
// (reading into JS mode internals to get at the local and global variables)
|
||||
for (var v = token.state.localVars; v; v = v.next) maybeAdd(v.name);
|
||||
for (var c = token.state.context; c; c = c.prev)
|
||||
for (var v = c.vars; v; v = v.next) maybeAdd(v.name)
|
||||
for (var v = token.state.globalVars; v; v = v.next) maybeAdd(v.name);
|
||||
if (options && options.additionalContext != null)
|
||||
for (var key in options.additionalContext)
|
||||
maybeAdd(key);
|
||||
/*if (!options || options.useGlobalScope !== false)
|
||||
gatherCompletions(global);*/
|
||||
forEach(keywords, maybeAdd);
|
||||
forEach(coffeescriptKeywords, maybeAdd);
|
||||
}
|
||||
return found.sort(function (a, b) {
|
||||
return (a + '').localeCompare(b + '');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
})();
|
|
@ -1,6 +1,7 @@
|
|||
window.config={
|
||||
extension_sources:{
|
||||
Coding:'https://raw.fgit.cf/libccy/noname-extension/master/',
|
||||
'GitHub Proxy':'https://ghproxy.com/https://raw.githubusercontent.com/libccy/noname-extension/master/',
|
||||
FastGit:'https://raw.fgit.cf/libccy/noname-extension/master/',
|
||||
GitHub:'https://raw.githubusercontent.com/libccy/noname-extension/master/'
|
||||
},
|
||||
extension_source:'Coding',
|
||||
|
|
File diff suppressed because it is too large
Load Diff
2426
game/game.js
2426
game/game.js
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,530 @@
|
|||
// 'path' module extracted from Node.js v8.11.1 (only the posix part)
|
||||
// transplited with Babel
|
||||
|
||||
// Copyright Joyent, Inc. and other Node contributors.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
// persons to whom the Software is furnished to do so, subject to the
|
||||
// following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included
|
||||
// in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
{
|
||||
"use strict"
|
||||
function assertPath(path) {
|
||||
if (typeof path !== 'string') {
|
||||
throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));
|
||||
}
|
||||
}
|
||||
|
||||
// Resolves . and .. elements in a path with directory names
|
||||
function normalizeStringPosix(path, allowAboveRoot) {
|
||||
var res = '';
|
||||
var lastSegmentLength = 0;
|
||||
var lastSlash = -1;
|
||||
var dots = 0;
|
||||
var code;
|
||||
for (var i = 0; i <= path.length; ++i) {
|
||||
if (i < path.length)
|
||||
code = path.charCodeAt(i);
|
||||
else if (code === 47 /*/*/)
|
||||
break;
|
||||
else
|
||||
code = 47 /*/*/;
|
||||
if (code === 47 /*/*/) {
|
||||
if (lastSlash === i - 1 || dots === 1) {
|
||||
// NOOP
|
||||
} else if (lastSlash !== i - 1 && dots === 2) {
|
||||
if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {
|
||||
if (res.length > 2) {
|
||||
var lastSlashIndex = res.lastIndexOf('/');
|
||||
if (lastSlashIndex !== res.length - 1) {
|
||||
if (lastSlashIndex === -1) {
|
||||
res = '';
|
||||
lastSegmentLength = 0;
|
||||
} else {
|
||||
res = res.slice(0, lastSlashIndex);
|
||||
lastSegmentLength = res.length - 1 - res.lastIndexOf('/');
|
||||
}
|
||||
lastSlash = i;
|
||||
dots = 0;
|
||||
continue;
|
||||
}
|
||||
} else if (res.length === 2 || res.length === 1) {
|
||||
res = '';
|
||||
lastSegmentLength = 0;
|
||||
lastSlash = i;
|
||||
dots = 0;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (allowAboveRoot) {
|
||||
if (res.length > 0)
|
||||
res += '/..';
|
||||
else
|
||||
res = '..';
|
||||
lastSegmentLength = 2;
|
||||
}
|
||||
} else {
|
||||
if (res.length > 0)
|
||||
res += '/' + path.slice(lastSlash + 1, i);
|
||||
else
|
||||
res = path.slice(lastSlash + 1, i);
|
||||
lastSegmentLength = i - lastSlash - 1;
|
||||
}
|
||||
lastSlash = i;
|
||||
dots = 0;
|
||||
} else if (code === 46 /*.*/ && dots !== -1) {
|
||||
++dots;
|
||||
} else {
|
||||
dots = -1;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
function _format(sep, pathObject) {
|
||||
var dir = pathObject.dir || pathObject.root;
|
||||
var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');
|
||||
if (!dir) {
|
||||
return base;
|
||||
}
|
||||
if (dir === pathObject.root) {
|
||||
return dir + base;
|
||||
}
|
||||
return dir + sep + base;
|
||||
}
|
||||
|
||||
var posix = {
|
||||
// path.resolve([from ...], to)
|
||||
resolve: function resolve() {
|
||||
var resolvedPath = '';
|
||||
var resolvedAbsolute = false;
|
||||
var cwd;
|
||||
|
||||
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
||||
var path;
|
||||
if (i >= 0)
|
||||
path = arguments[i];
|
||||
else {
|
||||
if (cwd === undefined)
|
||||
cwd = process.cwd();
|
||||
path = cwd;
|
||||
}
|
||||
|
||||
assertPath(path);
|
||||
|
||||
// Skip empty entries
|
||||
if (path.length === 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
resolvedPath = path + '/' + resolvedPath;
|
||||
resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;
|
||||
}
|
||||
|
||||
// At this point the path should be resolved to a full absolute path, but
|
||||
// handle relative paths to be safe (might happen when process.cwd() fails)
|
||||
|
||||
// Normalize the path
|
||||
resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);
|
||||
|
||||
if (resolvedAbsolute) {
|
||||
if (resolvedPath.length > 0)
|
||||
return '/' + resolvedPath;
|
||||
else
|
||||
return '/';
|
||||
} else if (resolvedPath.length > 0) {
|
||||
return resolvedPath;
|
||||
} else {
|
||||
return '.';
|
||||
}
|
||||
},
|
||||
|
||||
normalize: function normalize(path) {
|
||||
assertPath(path);
|
||||
|
||||
if (path.length === 0) return '.';
|
||||
|
||||
var isAbsolute = path.charCodeAt(0) === 47 /*/*/;
|
||||
var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;
|
||||
|
||||
// Normalize the path
|
||||
path = normalizeStringPosix(path, !isAbsolute);
|
||||
|
||||
if (path.length === 0 && !isAbsolute) path = '.';
|
||||
if (path.length > 0 && trailingSeparator) path += '/';
|
||||
|
||||
if (isAbsolute) return '/' + path;
|
||||
return path;
|
||||
},
|
||||
|
||||
isAbsolute: function isAbsolute(path) {
|
||||
assertPath(path);
|
||||
return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;
|
||||
},
|
||||
|
||||
join: function join() {
|
||||
if (arguments.length === 0)
|
||||
return '.';
|
||||
var joined;
|
||||
for (var i = 0; i < arguments.length; ++i) {
|
||||
var arg = arguments[i];
|
||||
assertPath(arg);
|
||||
if (arg.length > 0) {
|
||||
if (joined === undefined)
|
||||
joined = arg;
|
||||
else
|
||||
joined += '/' + arg;
|
||||
}
|
||||
}
|
||||
if (joined === undefined)
|
||||
return '.';
|
||||
return posix.normalize(joined);
|
||||
},
|
||||
|
||||
relative: function relative(from, to) {
|
||||
assertPath(from);
|
||||
assertPath(to);
|
||||
|
||||
if (from === to) return '';
|
||||
|
||||
from = posix.resolve(from);
|
||||
to = posix.resolve(to);
|
||||
|
||||
if (from === to) return '';
|
||||
|
||||
// Trim any leading backslashes
|
||||
var fromStart = 1;
|
||||
for (; fromStart < from.length; ++fromStart) {
|
||||
if (from.charCodeAt(fromStart) !== 47 /*/*/)
|
||||
break;
|
||||
}
|
||||
var fromEnd = from.length;
|
||||
var fromLen = fromEnd - fromStart;
|
||||
|
||||
// Trim any leading backslashes
|
||||
var toStart = 1;
|
||||
for (; toStart < to.length; ++toStart) {
|
||||
if (to.charCodeAt(toStart) !== 47 /*/*/)
|
||||
break;
|
||||
}
|
||||
var toEnd = to.length;
|
||||
var toLen = toEnd - toStart;
|
||||
|
||||
// Compare paths to find the longest common path from root
|
||||
var length = fromLen < toLen ? fromLen : toLen;
|
||||
var lastCommonSep = -1;
|
||||
var i = 0;
|
||||
for (; i <= length; ++i) {
|
||||
if (i === length) {
|
||||
if (toLen > length) {
|
||||
if (to.charCodeAt(toStart + i) === 47 /*/*/) {
|
||||
// We get here if `from` is the exact base path for `to`.
|
||||
// For example: from='/foo/bar'; to='/foo/bar/baz'
|
||||
return to.slice(toStart + i + 1);
|
||||
} else if (i === 0) {
|
||||
// We get here if `from` is the root
|
||||
// For example: from='/'; to='/foo'
|
||||
return to.slice(toStart + i);
|
||||
}
|
||||
} else if (fromLen > length) {
|
||||
if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
|
||||
// We get here if `to` is the exact base path for `from`.
|
||||
// For example: from='/foo/bar/baz'; to='/foo/bar'
|
||||
lastCommonSep = i;
|
||||
} else if (i === 0) {
|
||||
// We get here if `to` is the root.
|
||||
// For example: from='/foo'; to='/'
|
||||
lastCommonSep = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
var fromCode = from.charCodeAt(fromStart + i);
|
||||
var toCode = to.charCodeAt(toStart + i);
|
||||
if (fromCode !== toCode)
|
||||
break;
|
||||
else if (fromCode === 47 /*/*/)
|
||||
lastCommonSep = i;
|
||||
}
|
||||
|
||||
var out = '';
|
||||
// Generate the relative path based on the path difference between `to`
|
||||
// and `from`
|
||||
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
|
||||
if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
|
||||
if (out.length === 0)
|
||||
out += '..';
|
||||
else
|
||||
out += '/..';
|
||||
}
|
||||
}
|
||||
|
||||
// Lastly, append the rest of the destination (`to`) path that comes after
|
||||
// the common path parts
|
||||
if (out.length > 0)
|
||||
return out + to.slice(toStart + lastCommonSep);
|
||||
else {
|
||||
toStart += lastCommonSep;
|
||||
if (to.charCodeAt(toStart) === 47 /*/*/)
|
||||
++toStart;
|
||||
return to.slice(toStart);
|
||||
}
|
||||
},
|
||||
|
||||
_makeLong: function _makeLong(path) {
|
||||
return path;
|
||||
},
|
||||
|
||||
dirname: function dirname(path) {
|
||||
assertPath(path);
|
||||
if (path.length === 0) return '.';
|
||||
var code = path.charCodeAt(0);
|
||||
var hasRoot = code === 47 /*/*/;
|
||||
var end = -1;
|
||||
var matchedSlash = true;
|
||||
for (var i = path.length - 1; i >= 1; --i) {
|
||||
code = path.charCodeAt(i);
|
||||
if (code === 47 /*/*/) {
|
||||
if (!matchedSlash) {
|
||||
end = i;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// We saw the first non-path separator
|
||||
matchedSlash = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (end === -1) return hasRoot ? '/' : '.';
|
||||
if (hasRoot && end === 1) return '//';
|
||||
return path.slice(0, end);
|
||||
},
|
||||
|
||||
basename: function basename(path, ext) {
|
||||
if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string');
|
||||
assertPath(path);
|
||||
|
||||
var start = 0;
|
||||
var end = -1;
|
||||
var matchedSlash = true;
|
||||
var i;
|
||||
|
||||
if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {
|
||||
if (ext.length === path.length && ext === path) return '';
|
||||
var extIdx = ext.length - 1;
|
||||
var firstNonSlashEnd = -1;
|
||||
for (i = path.length - 1; i >= 0; --i) {
|
||||
var code = path.charCodeAt(i);
|
||||
if (code === 47 /*/*/) {
|
||||
// If we reached a path separator that was not part of a set of path
|
||||
// separators at the end of the string, stop now
|
||||
if (!matchedSlash) {
|
||||
start = i + 1;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (firstNonSlashEnd === -1) {
|
||||
// We saw the first non-path separator, remember this index in case
|
||||
// we need it if the extension ends up not matching
|
||||
matchedSlash = false;
|
||||
firstNonSlashEnd = i + 1;
|
||||
}
|
||||
if (extIdx >= 0) {
|
||||
// Try to match the explicit extension
|
||||
if (code === ext.charCodeAt(extIdx)) {
|
||||
if (--extIdx === -1) {
|
||||
// We matched the extension, so mark this as the end of our path
|
||||
// component
|
||||
end = i;
|
||||
}
|
||||
} else {
|
||||
// Extension does not match, so our result is the entire path
|
||||
// component
|
||||
extIdx = -1;
|
||||
end = firstNonSlashEnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (start === end) end = firstNonSlashEnd; else if (end === -1) end = path.length;
|
||||
return path.slice(start, end);
|
||||
} else {
|
||||
for (i = path.length - 1; i >= 0; --i) {
|
||||
if (path.charCodeAt(i) === 47 /*/*/) {
|
||||
// If we reached a path separator that was not part of a set of path
|
||||
// separators at the end of the string, stop now
|
||||
if (!matchedSlash) {
|
||||
start = i + 1;
|
||||
break;
|
||||
}
|
||||
} else if (end === -1) {
|
||||
// We saw the first non-path separator, mark this as the end of our
|
||||
// path component
|
||||
matchedSlash = false;
|
||||
end = i + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (end === -1) return '';
|
||||
return path.slice(start, end);
|
||||
}
|
||||
},
|
||||
|
||||
extname: function extname(path) {
|
||||
assertPath(path);
|
||||
var startDot = -1;
|
||||
var startPart = 0;
|
||||
var end = -1;
|
||||
var matchedSlash = true;
|
||||
// Track the state of characters (if any) we see before our first dot and
|
||||
// after any path separator we find
|
||||
var preDotState = 0;
|
||||
for (var i = path.length - 1; i >= 0; --i) {
|
||||
var code = path.charCodeAt(i);
|
||||
if (code === 47 /*/*/) {
|
||||
// If we reached a path separator that was not part of a set of path
|
||||
// separators at the end of the string, stop now
|
||||
if (!matchedSlash) {
|
||||
startPart = i + 1;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (end === -1) {
|
||||
// We saw the first non-path separator, mark this as the end of our
|
||||
// extension
|
||||
matchedSlash = false;
|
||||
end = i + 1;
|
||||
}
|
||||
if (code === 46 /*.*/) {
|
||||
// If this is our first dot, mark it as the start of our extension
|
||||
if (startDot === -1)
|
||||
startDot = i;
|
||||
else if (preDotState !== 1)
|
||||
preDotState = 1;
|
||||
} else if (startDot !== -1) {
|
||||
// We saw a non-dot and non-path separator before our dot, so we should
|
||||
// have a good chance at having a non-empty extension
|
||||
preDotState = -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (startDot === -1 || end === -1 ||
|
||||
// We saw a non-dot character immediately before the dot
|
||||
preDotState === 0 ||
|
||||
// The (right-most) trimmed path component is exactly '..'
|
||||
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
||||
return '';
|
||||
}
|
||||
return path.slice(startDot, end);
|
||||
},
|
||||
|
||||
format: function format(pathObject) {
|
||||
if (pathObject === null || typeof pathObject !== 'object') {
|
||||
throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject);
|
||||
}
|
||||
return _format('/', pathObject);
|
||||
},
|
||||
|
||||
parse: function parse(path) {
|
||||
assertPath(path);
|
||||
|
||||
var ret = { root: '', dir: '', base: '', ext: '', name: '' };
|
||||
if (path.length === 0) return ret;
|
||||
var code = path.charCodeAt(0);
|
||||
var isAbsolute = code === 47 /*/*/;
|
||||
var start;
|
||||
if (isAbsolute) {
|
||||
ret.root = '/';
|
||||
start = 1;
|
||||
} else {
|
||||
start = 0;
|
||||
}
|
||||
var startDot = -1;
|
||||
var startPart = 0;
|
||||
var end = -1;
|
||||
var matchedSlash = true;
|
||||
var i = path.length - 1;
|
||||
|
||||
// Track the state of characters (if any) we see before our first dot and
|
||||
// after any path separator we find
|
||||
var preDotState = 0;
|
||||
|
||||
// Get non-dir info
|
||||
for (; i >= start; --i) {
|
||||
code = path.charCodeAt(i);
|
||||
if (code === 47 /*/*/) {
|
||||
// If we reached a path separator that was not part of a set of path
|
||||
// separators at the end of the string, stop now
|
||||
if (!matchedSlash) {
|
||||
startPart = i + 1;
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (end === -1) {
|
||||
// We saw the first non-path separator, mark this as the end of our
|
||||
// extension
|
||||
matchedSlash = false;
|
||||
end = i + 1;
|
||||
}
|
||||
if (code === 46 /*.*/) {
|
||||
// If this is our first dot, mark it as the start of our extension
|
||||
if (startDot === -1) startDot = i; else if (preDotState !== 1) preDotState = 1;
|
||||
} else if (startDot !== -1) {
|
||||
// We saw a non-dot and non-path separator before our dot, so we should
|
||||
// have a good chance at having a non-empty extension
|
||||
preDotState = -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (startDot === -1 || end === -1 ||
|
||||
// We saw a non-dot character immediately before the dot
|
||||
preDotState === 0 ||
|
||||
// The (right-most) trimmed path component is exactly '..'
|
||||
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
||||
if (end !== -1) {
|
||||
if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end); else ret.base = ret.name = path.slice(startPart, end);
|
||||
}
|
||||
} else {
|
||||
if (startPart === 0 && isAbsolute) {
|
||||
ret.name = path.slice(1, startDot);
|
||||
ret.base = path.slice(1, end);
|
||||
} else {
|
||||
ret.name = path.slice(startPart, startDot);
|
||||
ret.base = path.slice(startPart, end);
|
||||
}
|
||||
ret.ext = path.slice(startDot, end);
|
||||
}
|
||||
|
||||
if (startPart > 0) ret.dir = path.slice(0, startPart - 1); else if (isAbsolute) ret.dir = '/';
|
||||
|
||||
return ret;
|
||||
},
|
||||
|
||||
sep: '/',
|
||||
delimiter: ':',
|
||||
win32: null,
|
||||
posix: null
|
||||
};
|
||||
|
||||
posix.posix = posix;
|
||||
|
||||
window._noname_path = posix;
|
||||
}
|
File diff suppressed because one or more lines are too long
|
@ -7,8 +7,6 @@ var pinyin_dict_polyphone = {
|
|||
// noname's pinyin
|
||||
// START
|
||||
// 武将名
|
||||
"乐蔡琰": "yuè ",
|
||||
"乐周妃": "yuè fēi",
|
||||
"用间": " jiàn",
|
||||
|
||||
"乐进": "yuè ",
|
||||
|
@ -41583,17 +41581,21 @@ var pinyin_dict_withtone = "yī,dīng zhēng,kǎo qiǎo yú,qī,shàng,xià,hǎn
|
|||
}
|
||||
return result;
|
||||
}
|
||||
for (var i = 0; i < chinese.length; i++) {
|
||||
var m=0;
|
||||
for (var i = 0; i < chinese.length;(i++,m++)) {
|
||||
temp = '';
|
||||
for (var j = 0; j < max && (i + j) < chinese.length; j++) {
|
||||
if (!/^[\u2E80-\u9FFF]+$/.test(chinese[i + j])) break; // 如果碰到非汉字直接停止本次查找
|
||||
if (!dict.withtone[chinese[i]]) {
|
||||
i+=(result[i].length-1);
|
||||
break;
|
||||
} // 如果碰到非汉字直接停止本次查找
|
||||
temp += chinese[i + j];
|
||||
var res = poly[temp];
|
||||
if (res) // 如果找到了多音字词语
|
||||
{
|
||||
res = res.split(' ');
|
||||
for (var k = 0; k <= j; k++) {
|
||||
if (res[k]) result[i + k] = withtone ? res[k] : pinyinUtilx.removeTone(res[k]);
|
||||
if (res[k]) result[m + k] = withtone ? res[k] : pinyinUtilx.removeTone(res[k]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -49,10 +49,12 @@ window.noname_source_list=[
|
|||
'character/yingbian.js',
|
||||
'character/yxs.js',
|
||||
'character/zhuogui.js',
|
||||
'font/motoyamaru.woff2',
|
||||
'font/suits.woff2',
|
||||
'game/asset.js',
|
||||
'game/codemirror.js',
|
||||
'game/config.js',
|
||||
'game/core-js-bundle.js',
|
||||
'game/directory.js',
|
||||
'game/game.js',
|
||||
'game/http.js',
|
||||
|
@ -60,7 +62,7 @@ window.noname_source_list=[
|
|||
'game/keyWords.js',
|
||||
'game/NoSleep.js',
|
||||
'game/package.js',
|
||||
'game/path.min.js',
|
||||
'game/path.js',
|
||||
'game/phantom.js',
|
||||
'game/pinyinjs.js',
|
||||
'game/pressure.js',
|
||||
|
|
|
@ -1,28 +1,59 @@
|
|||
window.noname_update={
|
||||
version:'1.10.2.1',
|
||||
update:'1.10.2',
|
||||
version:'1.10.3',
|
||||
update:'1.10.2.1',
|
||||
changeLog:[
|
||||
'整合@rintim @mengxinzxz @lieren2023 @PZ157 @Tipx-L @kuangshen04 @nonameShijian @copcap的Pull Request',
|
||||
'新武将:界钟繇、武陆逊、界文聘、许靖、孟优、陈式、费曜、孙礼、夏侯楙、OL陆郁生、☆周不疑、',
|
||||
'音效优化:增加不同属性伤害的不同音效',
|
||||
'技能优化:神典韦、手杀南华老仙等',
|
||||
'机制更新: 属性【杀】机制完善优化等',
|
||||
'界面更新: 优化自带代码编辑器;启动页增加新样式;武将资料页美化等',
|
||||
'其他技能修改与bug修复',
|
||||
'整合@nonameShijian @PZ157 @MDYY1 @mengxinzxz @lieren2023 @Lucilor @kuangshen04 @BauxiteAI @copcap @Tipx-L @xiaoas @Rintim @universe-st的Pull Request',
|
||||
'新机制:武将名称前缀的高亮显示',
|
||||
'将谋攻篇武将加入同名武将切换',
|
||||
'lib.nature向下兼容和相关函数更改',
|
||||
'其他AI优化与bug修复',
|
||||
],
|
||||
files:[
|
||||
'card/extra.js',
|
||||
'card/guozhan.js',
|
||||
'card/standard.js',
|
||||
'card/yingbian.js',
|
||||
'character/clan.js',
|
||||
'character/collab.js',
|
||||
'character/ddd.js',
|
||||
'character/diy.js',
|
||||
'character/extra.js',
|
||||
'character/gwent.js',
|
||||
'character/hearth.js',
|
||||
'character/huicui.js',
|
||||
'character/jsrg.js',
|
||||
'character/mobile.js',
|
||||
'character/offline.js',
|
||||
'character/old.js',
|
||||
'character/refresh.js',
|
||||
'character/sb.js',
|
||||
'character/shenhua.js',
|
||||
'character/shiji.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
'character/standard.js',
|
||||
'character/tw.js',
|
||||
'character/xianding.js',
|
||||
'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
'character/yingbian.js',
|
||||
'font/motoyamaru.woff2',
|
||||
'font/suits.woff2',
|
||||
'game/codemirror.js',
|
||||
'game/config.js',
|
||||
'game/core-js-bundle.js',
|
||||
'game/game.js',
|
||||
'mode/doudizhu.js',
|
||||
'game/path.js',
|
||||
'game/pinyinjs.js',
|
||||
'layout/default/codemirror.css',
|
||||
'layout/default/layout.css',
|
||||
'layout/default/menu.css',
|
||||
'layout/mobile/layout.css',
|
||||
'layout/mode/stone.css',
|
||||
'layout/newlayout/global.css',
|
||||
'mode/boss.js',
|
||||
'mode/brawl.js',
|
||||
'mode/guozhan.js',
|
||||
'mode/identity.js',
|
||||
'mode/single.js',
|
||||
]
|
||||
};
|
||||
|
|
|
@ -468,14 +468,9 @@ div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; colo
|
|||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 1000px) {
|
||||
.CodeMirror-hints::-webkit-scrollbar {
|
||||
width: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.CodeMirror-hints::-webkit-scrollbar-thumb {
|
||||
background-color: rgb(218, 215, 215);
|
||||
border-radius: 5px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
|
@ -496,3 +491,28 @@ li.CodeMirror-hint-active {
|
|||
background: #08f;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.cm-completionIcon {
|
||||
position: relative;
|
||||
font-size: 90%;
|
||||
font-family: monospace;
|
||||
width: .8em;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
padding-right: .6em;
|
||||
opacity: 0.6;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
.cm-completionIcon-function:after,
|
||||
.cm-completionIcon-method:after {content: 'ƒ';}
|
||||
.cm-completionIcon-class:after {content: '○';}
|
||||
.cm-completionIcon-interface:after {content: '◌';}
|
||||
.cm-completionIcon-variable:after {content: '𝑥';}
|
||||
.cm-completionIcon-constant:after {content: '𝐶';}
|
||||
.cm-completionIcon-type:after {content: '𝑡';}
|
||||
.cm-completionIcon-enum:after {content: '∪';}
|
||||
.cm-completionIcon-property:after {content: '□';}
|
||||
.cm-completionIcon-keyword:after {content: '🔑︎';}
|
||||
.cm-completionIcon-namespace:after {content: '▢';}
|
||||
.cm-completionIcon-text:after {content: 'abc'; font-size: 50%; vertical-align: middle;}
|
|
@ -1766,7 +1766,9 @@ div:not(.handcards)>.card>.info>span,
|
|||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
position: relative;
|
||||
/* width: calc(100% - 8px); */
|
||||
}
|
||||
.content>div:not(.pointerdiv) {
|
||||
width: calc(100% - 8px);
|
||||
}
|
||||
.content>.caption + .buttons:not(*:last-child){
|
||||
margin-top: 0;
|
||||
|
@ -3967,6 +3969,38 @@ span[data-nature='keymm'] {
|
|||
rgba(203, 177, 255,1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
|
||||
|
||||
div[data-nature='shen'],
|
||||
span[data-nature='shen'] {
|
||||
text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 5px,rgba(243, 171, 27, 1) 0 0 10px,
|
||||
rgba(243, 171, 27, 1) 0 0 10px,rgba(243, 171, 27, 1) 0 0 20px,rgba(243, 171, 27, 1) 0 0 20px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='shenm'],
|
||||
span[data-nature='shenm'] {
|
||||
text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 5px,rgba(243, 171, 27, 1) 0 0 5px,
|
||||
rgba(243, 171, 27, 1) 0 0 5px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='shenmm'],
|
||||
span[data-nature='shenmm'] {
|
||||
text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 2px,
|
||||
rgba(243, 171, 27, 1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='qun'],
|
||||
span[data-nature='qun'] {
|
||||
text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 5px,rgba(164, 164, 164, 1) 0 0 10px,
|
||||
rgba(164, 164, 164, 1) 0 0 10px,rgba(164, 164, 164, 1) 0 0 20px,rgba(164, 164, 164, 1) 0 0 20px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='qunm'],
|
||||
span[data-nature='qunm'] {
|
||||
text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 5px,rgba(164, 164, 164, 1) 0 0 5px,
|
||||
rgba(164, 164, 164, 1) 0 0 5px,black 0 0 1px;
|
||||
}
|
||||
div[data-nature='qunmm'],
|
||||
span[data-nature='qunmm'] {
|
||||
text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 2px,
|
||||
rgba(164, 164, 164, 1) 0 0 2px,black 0 0 1px;
|
||||
}
|
||||
|
||||
.player .identity[data-color="nei"],
|
||||
.player .identity[data-color="ye"],
|
||||
.player .identity[data-color="rYe"],
|
||||
|
@ -4611,6 +4645,21 @@ div[data-decoration="bronze"]::after{
|
|||
left: 3px;
|
||||
top: 6px;
|
||||
}
|
||||
.tempname.kami:not([data-nature])>span {
|
||||
color: #1F3C38;
|
||||
}
|
||||
.tempname.ice:not([data-nature])>span {
|
||||
color: #3B6273;
|
||||
}
|
||||
.tempname.fire:not([data-nature])>span {
|
||||
color: #631515;
|
||||
}
|
||||
.tempname.thunder:not([data-nature])>span {
|
||||
color: #152E63;
|
||||
}
|
||||
.tempname.poison:not([data-nature])>span {
|
||||
color: #00312d;
|
||||
}
|
||||
/*.card.equip1 .wunature,
|
||||
.card.equip3 .wunature,
|
||||
.card.equip4 .wunature{
|
||||
|
|
|
@ -1019,7 +1019,7 @@ input.fileinput::-webkit-file-upload-button {
|
|||
}
|
||||
|
||||
.config {
|
||||
height: 25px;
|
||||
/* height: 25px; */
|
||||
line-height: 25px;
|
||||
position: relative;
|
||||
}
|
||||
|
@ -1316,17 +1316,33 @@ input.fileinput::-webkit-file-upload-button {
|
|||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.menu-buttons>.new_character>.die_audio {
|
||||
position: absolute;
|
||||
left: 12px;
|
||||
top: 160px;
|
||||
height: 45px;
|
||||
width: calc(100% - 12px);
|
||||
}
|
||||
|
||||
.menu-buttons>.new_character>.die_audio>input {
|
||||
width: calc(100% - 100px);
|
||||
}
|
||||
|
||||
.menu-buttons>.new_character>.die_audio>button {
|
||||
margin-right: 12px;
|
||||
}
|
||||
|
||||
.menu-buttons>.new_character>.add_skill {
|
||||
position: absolute;
|
||||
left: 12px;
|
||||
top: 205px;
|
||||
top: 250px;
|
||||
text-align: left;
|
||||
line-height: 20px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.menu-buttons>.new_character>.add_skill.options {
|
||||
top: 160px;
|
||||
top: 205px;
|
||||
}
|
||||
|
||||
.menu-buttons>.new_character>.add_skill.options>span {
|
||||
|
@ -1859,7 +1875,7 @@ input.fileinput::-webkit-file-upload-button {
|
|||
}
|
||||
|
||||
#create-extension>.menu-buttons>.new_character>.skill_list {
|
||||
top: 245px;
|
||||
top: 290px;
|
||||
}
|
||||
|
||||
#create-extension>.menu-buttons>.new_character>.skill_list>div:first-child {
|
||||
|
@ -1876,6 +1892,9 @@ input.fileinput::-webkit-file-upload-button {
|
|||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
div.popup-container.editor,div.popup-container.editor div{
|
||||
transition: none;
|
||||
}
|
||||
.popup-container.editor>div {
|
||||
width: 80%;
|
||||
height: 90%;
|
||||
|
|
|
@ -224,7 +224,7 @@
|
|||
#arena:not(.chess) .player[data-position='0'].linked>.name.name2{
|
||||
left:69px;
|
||||
}
|
||||
#arena:not(.chess) .player[data-position='0']>.identity{
|
||||
#arena:not(.chess):not(.stone) .player[data-position='0']>.identity{
|
||||
left: 0;
|
||||
width: 130px;
|
||||
}
|
||||
|
|
|
@ -1,89 +1,195 @@
|
|||
#arena.stone>.player.minskin[data-position='4']{top:calc(100% - 305px);left:calc(100% - 120px);}
|
||||
#arena.stone>.card[data-position='4']{top:calc(100% - 297px);left:calc(100% - 112px);}
|
||||
#arena.stone>.popup[data-position='4']{top:calc(100% - 340px);left:calc(100% - 112px);}
|
||||
#arena.stone>.player.minskin[data-position='6']{top:calc(100% - 305px);left:calc(100% - 260px);}
|
||||
#arena.stone>.card[data-position='6']{top:calc(100% - 297px);left:calc(100% - 252px);}
|
||||
#arena.stone>.popup[data-position='6']{top:calc(100% - 340px);left:calc(100% - 252px);}
|
||||
#arena.stone>.player.minskin[data-position='7']{top:calc(100% - 305px);left:140px;}
|
||||
#arena.stone>.card[data-position='7']{top:calc(100% - 297px);left:148px;}
|
||||
#arena.stone>.popup[data-position='7']{top:calc(100% - 340px);left:148px;}
|
||||
#arena.stone>.player.minskin[data-position='5']{top:calc(100% - 305px);left:0;}
|
||||
#arena.stone>.card[data-position='5']{top:calc(100% - 297px);left:8px;}
|
||||
#arena.stone>.popup[data-position='5']{top:calc(100% - 340px);left:8px;}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='9']{top:30px;left:calc(100% - 120px);}
|
||||
#arena.stone>.card[data-position='9']{top:38px;left:calc(100% - 112px);}
|
||||
#arena.stone>.popup[data-position='9']{top:160px;left:calc(100% - 112px);}
|
||||
#arena.stone>.player.minskin[data-position='11']{top:10px;left:calc(100% - 260px);}
|
||||
#arena.stone>.card[data-position='11']{top:18px;left:calc(100% - 252px);}
|
||||
#arena.stone>.popup[data-position='11']{top:140px;left:calc(100% - 252px);}
|
||||
#arena.stone>.player.minskin[data-position='10']{top:10px;left:140px;}
|
||||
#arena.stone>.card[data-position='10']{top:18px;left:148px;}
|
||||
#arena.stone>.popup[data-position='10']{top:140px;left:148px;}
|
||||
#arena.stone>.player.minskin[data-position='8']{top:30px;left:0;}
|
||||
#arena.stone>.card[data-position='8']{top:38px;left:8px;}
|
||||
#arena.stone>.popup[data-position='8']{top:160px;left:8px;}
|
||||
#arena:not(.chess).mobile>.player[data-position='0']>.name{
|
||||
top:30px;
|
||||
}
|
||||
#arena .player>.name{
|
||||
top:36px;
|
||||
}
|
||||
#arena.slim_player .player>.name{
|
||||
top:33px;
|
||||
}
|
||||
#arena .player.linked>.name{
|
||||
transform: rotate(90deg) translate(120px,-96px);
|
||||
}
|
||||
#arena .player.linked>.name.name2{
|
||||
transform: rotate(90deg) translate(98px,-31px);
|
||||
#arena.stone>.player.minskin[data-position='4'] {
|
||||
top: calc(100% - 305px);
|
||||
left: calc(100% - 120px);
|
||||
}
|
||||
|
||||
#arena.oldlayout .player.linked>.name{
|
||||
transform: none !important;
|
||||
#arena.stone>.card[data-position='4'] {
|
||||
top: calc(100% - 297px);
|
||||
left: calc(100% - 112px);
|
||||
}
|
||||
#arena.oldlayout .player.linked>.name.name2{
|
||||
|
||||
#arena.stone>.popup[data-position='4'] {
|
||||
top: calc(100% - 340px);
|
||||
left: calc(100% - 112px);
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='6'] {
|
||||
top: calc(100% - 305px);
|
||||
left: calc(100% - 260px);
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='6'] {
|
||||
top: calc(100% - 297px);
|
||||
left: calc(100% - 252px);
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='6'] {
|
||||
top: calc(100% - 340px);
|
||||
left: calc(100% - 252px);
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='7'] {
|
||||
top: calc(100% - 305px);
|
||||
left: 140px;
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='7'] {
|
||||
top: calc(100% - 297px);
|
||||
left: 148px;
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='7'] {
|
||||
top: calc(100% - 340px);
|
||||
left: 148px;
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='5'] {
|
||||
top: calc(100% - 305px);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='5'] {
|
||||
top: calc(100% - 297px);
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='5'] {
|
||||
top: calc(100% - 340px);
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='9'] {
|
||||
top: 30px;
|
||||
left: calc(100% - 120px);
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='9'] {
|
||||
top: 38px;
|
||||
left: calc(100% - 112px);
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='9'] {
|
||||
top: 160px;
|
||||
left: calc(100% - 112px);
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='11'] {
|
||||
top: 10px;
|
||||
left: calc(100% - 260px);
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='11'] {
|
||||
top: 18px;
|
||||
left: calc(100% - 252px);
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='11'] {
|
||||
top: 140px;
|
||||
left: calc(100% - 252px);
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='10'] {
|
||||
top: 10px;
|
||||
left: 140px;
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='10'] {
|
||||
top: 18px;
|
||||
left: 148px;
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='10'] {
|
||||
top: 140px;
|
||||
left: 148px;
|
||||
}
|
||||
|
||||
#arena.stone>.player.minskin[data-position='8'] {
|
||||
top: 30px;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#arena.stone>.card[data-position='8'] {
|
||||
top: 38px;
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
#arena.stone>.popup[data-position='8'] {
|
||||
top: 160px;
|
||||
left: 8px;
|
||||
}
|
||||
|
||||
#arena:not(.chess).mobile>.player[data-position='0']>.name {
|
||||
top: 30px;
|
||||
}
|
||||
|
||||
#arena .player>.name {
|
||||
top: 36px;
|
||||
}
|
||||
|
||||
#arena.slim_player .player>.name {
|
||||
top: 33px;
|
||||
}
|
||||
|
||||
#arena .player.linked>.name {
|
||||
transform: rotate(90deg) translate(120px, -96px);
|
||||
}
|
||||
|
||||
#arena .player.linked>.name.name2 {
|
||||
transform: rotate(90deg) translate(98px, -31px);
|
||||
}
|
||||
|
||||
#arena.oldlayout .player.linked>.name {
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
.player.minskin .judges{
|
||||
top:14px;
|
||||
#arena.oldlayout .player.linked>.name.name2 {
|
||||
transform: none !important;
|
||||
}
|
||||
.player>.identity.menubutton.round{
|
||||
|
||||
.player.minskin .judges {
|
||||
top: 14px;
|
||||
}
|
||||
|
||||
.player>.identity.menubutton.round {
|
||||
padding: 0;
|
||||
transform: scale(1.2) translate(-2px,2px);
|
||||
transform: scale(1.2) translate(-2px, 2px);
|
||||
}
|
||||
.card .wunature{
|
||||
top:74px;
|
||||
left:6px;
|
||||
|
||||
.card .wunature {
|
||||
top: 74px;
|
||||
left: 6px;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
/* .player .equips{ */
|
||||
/*z-index: 4;*/
|
||||
/*z-index: 4;*/
|
||||
/* } */
|
||||
|
||||
#arena:not(.chess).mobile .player[data-position='0']:not(.minskin)>.identity{
|
||||
left: 102px;
|
||||
#arena:not(.chess).mobile .player[data-position='0']:not(.minskin)>.identity {
|
||||
left: 100px;
|
||||
top: -7px;
|
||||
}
|
||||
|
||||
#deck-builder{
|
||||
#deck-builder {
|
||||
overflow: hidden;
|
||||
}
|
||||
#deck-builder>.shadowed.list{
|
||||
|
||||
#deck-builder>.shadowed.list {
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
right: 0;
|
||||
top:0;
|
||||
top: 0;
|
||||
border-radius: 0px;
|
||||
transform: translateX(200px);
|
||||
opacity: 0;
|
||||
}
|
||||
#deck-builder.shown>.shadowed.list{
|
||||
|
||||
#deck-builder.shown>.shadowed.list {
|
||||
transform: none;
|
||||
opacity: 1;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.menubutton.large.create{
|
||||
|
||||
#deck-builder>.shadowed.list>.menubutton.large.create {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
left: auto;
|
||||
|
@ -96,42 +202,51 @@
|
|||
line-height: 50px;
|
||||
z-index: 2;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container{
|
||||
width:100%;
|
||||
left:0;
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container {
|
||||
width: 100%;
|
||||
left: 0;
|
||||
height: calc(100% - 60px);
|
||||
overflow-y: scroll;
|
||||
overflow-x: visible;
|
||||
text-align: left;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container:not(.deck){
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container:not(.deck) {
|
||||
z-index: 1;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container.deck{
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container.deck {
|
||||
pointer-events: none;
|
||||
opacity: 0;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container.deck.shown{
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container.deck.shown {
|
||||
pointer-events: auto;
|
||||
opacity: 1;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card{
|
||||
zoom:0.8;
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card {
|
||||
zoom: 0.8;
|
||||
margin-bottom: 15px;
|
||||
margin-top: 0;
|
||||
transition: all 0s;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n+1){
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n+1) {
|
||||
margin-left: 15px;
|
||||
}
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n){
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n) {
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:first-child,
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:first-child+div{
|
||||
#deck-builder>.shadowed.list>.list-container.deck>.card:first-child+div {
|
||||
margin-top: 15px;
|
||||
}
|
||||
.deckitem{
|
||||
|
||||
.deckitem {
|
||||
position: relative;
|
||||
width: 170px;
|
||||
margin-left: 15px;
|
||||
|
@ -143,44 +258,52 @@
|
|||
margin-top: 15px;
|
||||
margin-bottom: 0px;
|
||||
text-align: left;
|
||||
font-size:24px;
|
||||
line-height:30px;
|
||||
font-family:'xinwei';
|
||||
font-size: 24px;
|
||||
line-height: 30px;
|
||||
font-family: 'xinwei';
|
||||
border-radius: 40px 4px 4px 40px;
|
||||
background-size: cover;
|
||||
white-space: nowrap;
|
||||
transition: all 0s;
|
||||
}
|
||||
|
||||
#window:not(.nopointer) .deckitem,
|
||||
#window:not(.nopointer) #deck-builder>.shadowed.list>.menubutton.large.create,
|
||||
#window:not(.nopointer) #deck-builder>.controls>div:not(*:last-child){
|
||||
#window:not(.nopointer) #deck-builder>.controls>div:not(*:last-child) {
|
||||
cursor: pointer;
|
||||
}
|
||||
.dialog .deckitem{
|
||||
|
||||
.dialog .deckitem {
|
||||
margin-left: 8px;
|
||||
margin-right: 9px;
|
||||
}
|
||||
.deckitem.random{
|
||||
|
||||
.deckitem.random {
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
}
|
||||
.deckitem.random>span{
|
||||
|
||||
.deckitem.random>span {
|
||||
margin-left: 0;
|
||||
}
|
||||
.deckitem:last-child{
|
||||
|
||||
.deckitem:last-child {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.deckitem>span{
|
||||
|
||||
.deckitem>span {
|
||||
margin-left: 46px;
|
||||
}
|
||||
.deckitem>.menubutton.round{
|
||||
|
||||
.deckitem>.menubutton.round {
|
||||
position: absolute;
|
||||
left: -1px;
|
||||
top: -2px;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
}
|
||||
#deck-builder>.shadowed.career{
|
||||
|
||||
#deck-builder>.shadowed.career {
|
||||
width: 240px;
|
||||
height: 240px;
|
||||
right: 220px;
|
||||
|
@ -191,11 +314,13 @@
|
|||
transition-duration: 0.3s;
|
||||
z-index: 8;
|
||||
}
|
||||
#deck-builder>.shadowed.career.shown{
|
||||
|
||||
#deck-builder>.shadowed.career.shown {
|
||||
transform: scale(1) translateX(0);
|
||||
opacity: 1;
|
||||
}
|
||||
#deck-builder>.shadowed.career>div{
|
||||
|
||||
#deck-builder>.shadowed.career>div {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
margin: 0;
|
||||
|
@ -203,39 +328,45 @@
|
|||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
#deck-builder>.shadowed.career>div>.menubutton.round{
|
||||
|
||||
#deck-builder>.shadowed.career>div>.menubutton.round {
|
||||
left: 15px;
|
||||
top: 5px;
|
||||
}
|
||||
#deck-builder>.shadowed.career>div>.text{
|
||||
|
||||
#deck-builder>.shadowed.career>div>.text {
|
||||
font-size: 12px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
top: 58px;
|
||||
}
|
||||
#deck-builder>.dialog.fixed{
|
||||
|
||||
#deck-builder>.dialog.fixed {
|
||||
left: auto;
|
||||
right: 240px;
|
||||
width: calc(100% - 280px);
|
||||
/*opacity: 0;*/
|
||||
animation: none;
|
||||
-webkit-animation:none;
|
||||
-webkit-animation: none;
|
||||
/*transform: scale(0.8);*/
|
||||
/*pointer-events: none;*/
|
||||
/*-webkit-animation:dialog_start2 0.5s;*/
|
||||
transition: all 0.5s;
|
||||
}
|
||||
#deck-builder:not(.shown)>.dialog.fixed{
|
||||
|
||||
#deck-builder:not(.shown)>.dialog.fixed {
|
||||
opacity: 0;
|
||||
transform: scale(0.8);
|
||||
pointer-events: none;
|
||||
}
|
||||
#deck-builder>.dialog.fixed.shown{
|
||||
|
||||
#deck-builder>.dialog.fixed.shown {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
pointer-events: auto;
|
||||
}
|
||||
#deck-builder>.controls{
|
||||
|
||||
#deck-builder>.controls {
|
||||
opacity: 0;
|
||||
height: 50px;
|
||||
width: calc(100% - 200px);
|
||||
|
@ -245,13 +376,15 @@
|
|||
z-index: 9;
|
||||
pointer-events: none;
|
||||
}
|
||||
#deck-builder>.controls>div{
|
||||
|
||||
#deck-builder>.controls>div {
|
||||
position: relative;
|
||||
margin-top:5px;
|
||||
margin-top: 5px;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
#deck-builder>.controls>.card-count{
|
||||
|
||||
#deck-builder>.controls>.card-count {
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
|
@ -262,30 +395,37 @@
|
|||
line-height: 50px;
|
||||
margin: 0;
|
||||
}
|
||||
#deck-builder>.controls>div:last-child{
|
||||
|
||||
#deck-builder>.controls>div:last-child {
|
||||
margin-right: 40px;
|
||||
white-space: nowrap;
|
||||
user-select: text;
|
||||
-webkit-user-select: text;
|
||||
}
|
||||
#deck-builder>.controls.shown{
|
||||
|
||||
#deck-builder>.controls.shown {
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
#arena>.player.stone_deck{
|
||||
|
||||
#arena>.player.stone_deck {
|
||||
transform: scale(1) translateX(100px);
|
||||
opacity: 0;
|
||||
transition: all 0.5s;
|
||||
left: calc(5% + 50px);
|
||||
top:calc(50% - 90px);
|
||||
top: calc(50% - 90px);
|
||||
}
|
||||
#arena>.player.stone_deck.shown{
|
||||
|
||||
#arena>.player.stone_deck.shown {
|
||||
transform: scale(0.8);
|
||||
opacity: 1;
|
||||
}
|
||||
#arena>.player.stone_deck.shown.removing{
|
||||
|
||||
#arena>.player.stone_deck.shown.removing {
|
||||
transform: scale(0.6) translateX(-100px);
|
||||
}
|
||||
#arena>.player.stone_deck>div:not(.avatar):not(.avatar2){
|
||||
|
||||
#arena>.player.stone_deck>div:not(.avatar):not(.avatar2) {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
@ -293,56 +433,82 @@
|
|||
/*#arena>.skillbar>.skillbartext:hover{
|
||||
opacity: 1;
|
||||
}*/
|
||||
@keyframes skillbarglow{
|
||||
0%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px}
|
||||
50%{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px,
|
||||
rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px}
|
||||
100%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px}
|
||||
}
|
||||
@-webkit-keyframes skillbarglow{
|
||||
0%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px}
|
||||
50%{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px,
|
||||
rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px}
|
||||
100%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px}
|
||||
@keyframes skillbarglow {
|
||||
0% {
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px
|
||||
}
|
||||
|
||||
50% {
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px,
|
||||
rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px
|
||||
}
|
||||
|
||||
100% {
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px
|
||||
}
|
||||
}
|
||||
|
||||
div[data-career='mage']{
|
||||
background-image: url('../../../image/mode/stone/career/mage.png');
|
||||
background-size:cover;
|
||||
@-webkit-keyframes skillbarglow {
|
||||
0% {
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px
|
||||
}
|
||||
|
||||
50% {
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px,
|
||||
rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px
|
||||
}
|
||||
|
||||
100% {
|
||||
box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px
|
||||
}
|
||||
}
|
||||
div[data-career='druid']{
|
||||
background-image: url('../../../image/mode/stone/career/druid.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='mage'] {
|
||||
background-image: url('../../image/mode/stone/career/mage.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='hunter']{
|
||||
background-image: url('../../../image/mode/stone/career/hunter.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='druid'] {
|
||||
background-image: url('../../image/mode/stone/career/druid.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='shaman']{
|
||||
background-image: url('../../../image/mode/stone/career/shaman.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='hunter'] {
|
||||
background-image: url('../../image/mode/stone/career/hunter.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='paladin']{
|
||||
background-image: url('../../../image/mode/stone/career/paladin.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='shaman'] {
|
||||
background-image: url('../../image/mode/stone/career/shaman.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='rogue']{
|
||||
background-image: url('../../../image/mode/stone/career/rogue.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='paladin'] {
|
||||
background-image: url('../../image/mode/stone/career/paladin.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='priest']{
|
||||
background-image: url('../../../image/mode/stone/career/priest.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='rogue'] {
|
||||
background-image: url('../../image/mode/stone/career/rogue.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='warrior']{
|
||||
background-image: url('../../../image/mode/stone/career/warrior.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='priest'] {
|
||||
background-image: url('../../image/mode/stone/career/priest.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='warlock']{
|
||||
background-image: url('../../../image/mode/stone/career/warlock.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='warrior'] {
|
||||
background-image: url('../../image/mode/stone/career/warrior.png');
|
||||
background-size: cover;
|
||||
}
|
||||
div[data-career='knight']{
|
||||
background-image: url('../../../image/mode/stone/career/knight.png');
|
||||
background-size:cover;
|
||||
|
||||
div[data-career='warlock'] {
|
||||
background-image: url('../../image/mode/stone/career/warlock.png');
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
div[data-career='knight'] {
|
||||
background-image: url('../../image/mode/stone/career/knight.png');
|
||||
background-size: cover;
|
||||
}
|
|
@ -322,6 +322,7 @@
|
|||
.player .identity{
|
||||
right: -6px;
|
||||
top: -5px;
|
||||
left: auto;
|
||||
}
|
||||
.player.minskin .identity{
|
||||
left:102px;
|
||||
|
|
|
@ -2659,7 +2659,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(!player.hasEmptySlot('equip2')) return false;
|
||||
if(event.card.name=='nanman') return true;
|
||||
if(event.card.name=='wanjian') return true;
|
||||
return event.card.name=='sha'&&event.card.hasNature();
|
||||
return event.card.name=='sha'&&game.hasNature(event.card);
|
||||
},
|
||||
content:function(){
|
||||
trigger.cancel();
|
||||
|
@ -2672,7 +2672,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(card.name=='sha'){
|
||||
var equip1=player.getEquip(1);
|
||||
if(equip1&&equip1.name=='zhuque') return 1.9;
|
||||
if(!card.hasNature()) return 'zerotarget';
|
||||
if(!game.hasNature(card)) return 'zerotarget';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4683,14 +4683,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
equipSkill:true,
|
||||
inherit:'cixiong_skill',
|
||||
filter:function(event,player){
|
||||
return event.card.hasNature('linked');
|
||||
return game.hasNature(event.card,'linked');
|
||||
},
|
||||
},
|
||||
qicaishenlu:{
|
||||
trigger:{source:'damageBegin1'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.card.hasNature('linked');
|
||||
return game.hasNature(event.card,'linked');
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
|
|
|
@ -1883,8 +1883,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var list=[['guanyu','guanping','guansuo','guanyinping'],
|
||||
['caocao','caopi','caozhi','caorui'],['liubei','liushan','liuchen'],
|
||||
['re_xiahouyuan','xiahouba','xiahoushi'],['sunjian','sunquan','sunce'],
|
||||
['sp_zhangjiao','zhangliang','zhangbao'],['zhugeliang','zhugeguo','zhugejin','zhugeke'],
|
||||
['mateng','machao','madai','mayunlu']];
|
||||
['sp_zhangjiao','re_zhangliang','zhangbao'],['zhugeliang','zhugeguo','zhugejin','zhugeke'],
|
||||
['mateng','machao','old_madai','mayunlu']];
|
||||
list.randomSort();
|
||||
var list2=[];
|
||||
for(var i=0;i<list.length;i++){
|
||||
|
@ -1937,14 +1937,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var map3=[];
|
||||
var list1=['司','夏','诸','皇'];
|
||||
var list2=['马','侯','葛','甫'];
|
||||
var exclude=['界','新','大','旧','☆','神','晋','族','谋'];
|
||||
for(var i in lib.character){
|
||||
if(lib.filter.characterDisabled(i)) continue;
|
||||
if(lib.character[i][1]=='key') continue;
|
||||
var surname=lib.translate[i];
|
||||
var surname=get.rawName2(i);
|
||||
for(var j=0;j<surname.length;j++){
|
||||
if((surname[j]+surname[j+1])=='手杀'){j++;continue}
|
||||
if(exclude.contains(surname[j])) continue;
|
||||
if(!/[a-z]/i.test(surname[j])){
|
||||
var index=list1.indexOf(surname[j]);
|
||||
if(index!=-1&&surname[j+1]==list2[index]){
|
||||
|
@ -1962,7 +1959,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
map[surname].push(i);
|
||||
}
|
||||
for(var i in map){
|
||||
if(map[i].length<4){
|
||||
if(map[i].length<6){
|
||||
delete map[i];
|
||||
}
|
||||
else{
|
||||
|
@ -1996,7 +1993,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
_status.brawl.enemylist=list;
|
||||
}
|
||||
return list.randomRemove(2);
|
||||
return list.randomRemove(3);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -2014,7 +2011,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
showcase:function(init){
|
||||
var node=this;
|
||||
var list=['caoxiu','wenpin','caohong','zhanghe','re_xiahouyuan','re_xuhuang','re_xuzhu'];
|
||||
var list=['re_caoxiu','re_wenpin','tw_re_caohong','re_zhanghe','ol_xiahouyuan','ol_xuhuang','re_xuzhu'];
|
||||
list.randomSort();
|
||||
list.push('re_caocao');
|
||||
var func=function(){
|
||||
|
@ -2114,7 +2111,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
submode:'normal',
|
||||
list:['caoxiu','wenpin','caohong','zhanghe','re_xiahouyuan','re_xuhuang','re_xuzhu'],
|
||||
list:['re_caoxiu','re_wenpin','tw_re_caohong','re_zhanghe','ol_xiahouyuan','ol_xuhuang','re_xuzhu'],
|
||||
chooseCharacterFixed:true,
|
||||
chooseCharacterAi:function(player){
|
||||
if(player==game.zhu){
|
||||
|
@ -4068,6 +4065,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var info=scene.players[i];
|
||||
target.brawlinfo=info;
|
||||
target.identity=info.identity;
|
||||
if(target.identity=='zhu') target.isZhu=true;
|
||||
target.setIdentity(info.identity);
|
||||
target.node.marks.hide();
|
||||
if(info.name2!='none'&&info.name2!='random'){
|
||||
|
|
|
@ -12135,14 +12135,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
prompt:get.prompt2('gzhuyuan'),
|
||||
complexSelect:true,
|
||||
ai1:function(card){
|
||||
if(!_status.event.goon) return false;
|
||||
var player=_status.event.player;
|
||||
if(get.type(card)!='equip') return 0;
|
||||
return 6-get.value(card);
|
||||
return 7.5-get.value(card);
|
||||
},
|
||||
ai2:function(target){
|
||||
if(!_status.event.goon) return false;
|
||||
var player=_status.event.player,card=ui.selected.cards[0];
|
||||
return get.effect(target,card,player,player);
|
||||
},
|
||||
goon:game.hasPlayer(function(current){
|
||||
return get.effect(current,{name:'guohe_copy',position:'ej'},player,player)>0;
|
||||
})
|
||||
}).setHiddenSkill('gzhuyuan');
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
|
@ -12169,7 +12174,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return target.hasCard(function(card){
|
||||
return lib.filter.canBeDiscarded(card,player,target);
|
||||
},'ej');
|
||||
});
|
||||
}).set('ai',function(target){
|
||||
const player=_status.event.player;
|
||||
return get.effect(target,{name:'guohe_copy',position:'ej'},player,player);
|
||||
})
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
|
@ -14561,6 +14569,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gzcongjian:'从谏',
|
||||
gzcongjian_info:'锁定技,当你于回合外造成伤害,或于回合内受到伤害时,此伤害+1。',
|
||||
gz_jun_caocao:'君曹操',
|
||||
gz_jun_caocao_prefix:'君',
|
||||
jianan:'建安',
|
||||
jianan_info:'君主技,只要此武将处于明置状态,你便拥有“五子良将纛”。',
|
||||
g_jianan:'五子良将纛',
|
||||
|
@ -14653,8 +14662,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
"_mingzhisuodingji_info":"出牌阶段,你可以明置拥有“锁定技”的武将牌。",
|
||||
|
||||
gz_jun_liubei:'君刘备',
|
||||
gz_jun_liubei_prefix:'君',
|
||||
gz_jun_zhangjiao:'君张角',
|
||||
gz_jun_zhangjiao_prefix:'君',
|
||||
gz_jun_sunquan:'君孙权',
|
||||
gz_jun_sunquan_prefix:'君',
|
||||
gz_liqueguosi:'李傕郭汜',
|
||||
gz_bianfuren:'卞夫人',
|
||||
gz_lvfan:'吕范',
|
||||
|
|
|
@ -2332,7 +2332,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(get.population('zhong')+get.population('nei')==0||
|
||||
get.population('zhong')+get.population('fan')==0){
|
||||
game.broadcastAll(function(){
|
||||
game.showIdentity();
|
||||
if(game.showIdentity) game.showIdentity();
|
||||
if(game.zhu&&game.zhu.isAlive()&&get.population('nei')==1&&get.config('nei_fullscreenpop')) game.me.$fullscreenpop('<span style="font-family:xinwei"><span data-nature="fire">主公</span><span data-nature="soil"> vs </span><span data-nature="thunder">内奸</span></span>',null,null,false);
|
||||
});
|
||||
}
|
||||
|
@ -2399,11 +2399,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
var effect=0,c,shown;
|
||||
var info=get.info(card);
|
||||
if(info.ai&&info.ai.expose){
|
||||
if(_status.event.name=='_wuxie'){
|
||||
if(_status.event.source&&_status.event.source.ai.shown){
|
||||
if(_status.event.name=='_wuxie'&&card.name=='wuxie'){
|
||||
const infomap=_status.event._info_map;
|
||||
if(infomap){
|
||||
if(this!=infomap.target&&infomap.player&&infomap.player.ai.shown){
|
||||
this.ai.shown+=0.2;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.ai.shown+=info.ai.expose;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue