江山如故·合
|
@ -11092,6 +11092,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zhangchu:['zhangchu','jsrg_zhangchu'],
|
zhangchu:['zhangchu','jsrg_zhangchu'],
|
||||||
xianglang:['xianglang','mb_xianglang'],
|
xianglang:['xianglang','mb_xianglang'],
|
||||||
chengui:['chengui','mb_chengui'],
|
chengui:['chengui','mb_chengui'],
|
||||||
|
liuyong:['liuyong','jsrg_liuyong'],
|
||||||
|
zhangxuan:['zhangxuan','jsrg_zhangxuan'],
|
||||||
|
gaoxiang:['gaoxiang','jsrg_gaoxiang'],
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
re_panfeng:'潘凤',
|
re_panfeng:'潘凤',
|
||||||
|
|
1965
character/jsrg.js
|
@ -15391,7 +15391,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zhanggong:['zhanggong','re_zhanggong'],
|
zhanggong:['zhanggong','re_zhanggong'],
|
||||||
baosanniang:['xin_baosanniang','re_baosanniang','baosanniang'],
|
baosanniang:['xin_baosanniang','re_baosanniang','baosanniang'],
|
||||||
heqi:['re_heqi','heqi'],
|
heqi:['re_heqi','heqi'],
|
||||||
weiwenzhugezhi:['weiwenzhugezhi','re_weiwenzhugezhi'],
|
weiwenzhugezhi:['weiwenzhugezhi','re_weiwenzhugezhi','jsrg_weiwenzhugezhi'],
|
||||||
xugong:['xugong','re_xugong','jsrg_xugong'],
|
xugong:['xugong','re_xugong','jsrg_xugong'],
|
||||||
liuzan:['re_liuzan','liuzan'],
|
liuzan:['re_liuzan','liuzan'],
|
||||||
sufei:['yj_sufei','sp_sufei','xf_sufei'],
|
sufei:['yj_sufei','sp_sufei','xf_sufei'],
|
||||||
|
|
|
@ -7714,7 +7714,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
dongzhuo:['dongzhuo','ol_dongzhuo','re_dongzhuo','sp_dongzhuo','yj_dongzhuo'],
|
dongzhuo:['dongzhuo','ol_dongzhuo','re_dongzhuo','sp_dongzhuo','yj_dongzhuo'],
|
||||||
dengai:['dengai','ol_dengai','re_dengai'],
|
dengai:['dengai','ol_dengai','re_dengai'],
|
||||||
sp_ol_zhanghe:['sp_ol_zhanghe','yj_zhanghe','sp_zhanghe','jsrg_zhanghe'],
|
sp_ol_zhanghe:['sp_ol_zhanghe','yj_zhanghe','sp_zhanghe','jsrg_zhanghe'],
|
||||||
jiangwei:['jiangwei','ol_jiangwei','re_jiangwei','sb_jiangwei'],
|
jiangwei:['jiangwei','ol_jiangwei','re_jiangwei','sb_jiangwei','jsrg_jiangwei'],
|
||||||
liushan:['liushan','ol_liushan','re_liushan'],
|
liushan:['liushan','ol_liushan','re_liushan'],
|
||||||
sunce:['sunce','re_sunce','re_sunben','sb_sunce'],
|
sunce:['sunce','re_sunce','re_sunben','sb_sunce'],
|
||||||
zhangzhang:['zhangzhang','ol_zhangzhang','re_zhangzhang'],
|
zhangzhang:['zhangzhang','ol_zhangzhang','re_zhangzhang'],
|
||||||
|
|
|
@ -13360,7 +13360,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player!=event.player&&!event.player.isDisabledJudge()&&event.player.countCards('he')&&!event.player.countCards('j');
|
return player!=event.player&&!event.player.isDisabledJudge()&&event.player.countCards('he')&&!event.player.countCards('j',{type:'delay'});
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
|
@ -26332,7 +26332,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
retuogu:'托孤',
|
retuogu:'托孤',
|
||||||
retuogu_info:'一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技、使命技等特殊技能除外),然后你获得其选择的技能并失去上次因〖托孤〗获得的技能。',
|
retuogu_info:'一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技、使命技等特殊技能除外),然后你获得其选择的技能并失去上次因〖托孤〗获得的技能。',
|
||||||
shanzhuan:'擅专',
|
shanzhuan:'擅专',
|
||||||
shanzhuan_info:'当你对其他角色造成伤害后,若其判定区没有牌,则你可以将其的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。回合结束时,若你本回合内未造成伤害,你可摸一张牌。',
|
shanzhuan_info:'①当你对其他角色造成伤害后,若其判定区没有延时类锦囊牌,则你可以将其的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。②回合结束时,若你本回合内未造成伤害,你可摸一张牌。',
|
||||||
spniluan:'逆乱',
|
spniluan:'逆乱',
|
||||||
spniluan_info:'出牌阶段,你可以将一张黑色牌当做【杀】使用。此【杀】使用结算完成后,若你未因此【杀】造成过伤害,则你令此【杀】不计入使用次数。',
|
spniluan_info:'出牌阶段,你可以将一张黑色牌当做【杀】使用。此【杀】使用结算完成后,若你未因此【杀】造成过伤害,则你令此【杀】不计入使用次数。',
|
||||||
spweiwu:'违忤',
|
spweiwu:'违忤',
|
||||||
|
|
|
@ -2325,7 +2325,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
characterReplace:{
|
characterReplace:{
|
||||||
caocao:['caocao','re_caocao','sb_caocao','dc_caocao'],
|
caocao:['caocao','re_caocao','sb_caocao','dc_caocao'],
|
||||||
guojia:['guojia','re_guojia','ps1059_guojia','ps2070_guojia'],
|
guojia:['guojia','re_guojia','ps1059_guojia','ps2070_guojia'],
|
||||||
simayi:['simayi','re_simayi','ps_simayi','ps2068_simayi'],
|
simayi:['simayi','re_simayi','jsrg_simayi','ps_simayi','ps2068_simayi'],
|
||||||
jin_simayi:['jin_simayi','junk_simayi','ps_jin_simayi'],
|
jin_simayi:['jin_simayi','junk_simayi','ps_jin_simayi'],
|
||||||
zhenji:['zhenji','re_zhenji','sb_zhenji','yj_zhenji'],
|
zhenji:['zhenji','re_zhenji','sb_zhenji','yj_zhenji'],
|
||||||
xuzhu:['xuzhu','re_xuzhu'],
|
xuzhu:['xuzhu','re_xuzhu'],
|
||||||
|
@ -2335,15 +2335,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
liubei:['liubei','re_liubei','sb_liubei','dc_liubei','junk_liubei'],
|
liubei:['liubei','re_liubei','sb_liubei','dc_liubei','junk_liubei'],
|
||||||
guanyu:['guanyu','re_guanyu','ps_guanyu','old_guanyu'],
|
guanyu:['guanyu','re_guanyu','ps_guanyu','old_guanyu'],
|
||||||
zhangfei:['zhangfei','re_zhangfei','old_zhangfei','xin_zhangfei','sb_zhangfei','tw_zhangfei','jsrg_zhangfei','yj_zhangfei'],
|
zhangfei:['zhangfei','re_zhangfei','old_zhangfei','xin_zhangfei','sb_zhangfei','tw_zhangfei','jsrg_zhangfei','yj_zhangfei'],
|
||||||
zhaoyun:['zhaoyun','re_zhaoyun','old_zhaoyun','sb_zhaoyun','ps2063_zhaoyun','ps2067_zhaoyun'],
|
zhaoyun:['zhaoyun','re_zhaoyun','old_zhaoyun','sb_zhaoyun','jsrg_zhaoyun','ps2063_zhaoyun','ps2067_zhaoyun'],
|
||||||
sp_zhaoyun:['sp_zhaoyun','jsp_zhaoyun'],
|
sp_zhaoyun:['sp_zhaoyun','jsp_zhaoyun'],
|
||||||
machao:['machao','re_machao','sb_machao','ps_machao'],
|
machao:['machao','re_machao','sb_machao','ps_machao'],
|
||||||
sp_machao:['sp_machao','dc_sp_machao','jsrg_machao','old_machao'],
|
sp_machao:['sp_machao','dc_sp_machao','jsrg_machao','old_machao'],
|
||||||
zhugeliang:['zhugeliang','re_zhugeliang','ps2066_zhugeliang','ps_zhugeliang','sb_zhugeliang'],
|
zhugeliang:['zhugeliang','re_zhugeliang','sb_zhugeliang','jsrg_zhugeliang','ps2066_zhugeliang','ps_zhugeliang'],
|
||||||
huangyueying:['huangyueying','re_huangyueying','junk_huangyueying','sb_huangyueying'],
|
huangyueying:['huangyueying','re_huangyueying','junk_huangyueying','sb_huangyueying'],
|
||||||
sunquan:['sunquan','re_sunquan','sb_sunquan','dc_sunquan'],
|
sunquan:['sunquan','re_sunquan','sb_sunquan','dc_sunquan'],
|
||||||
zhouyu:['zhouyu','re_zhouyu','sb_zhouyu','ps1062_zhouyu','ps2080_zhouyu'],
|
zhouyu:['zhouyu','re_zhouyu','sb_zhouyu','ps1062_zhouyu','ps2080_zhouyu'],
|
||||||
luxun:['luxun','re_luxun'],
|
luxun:['luxun','re_luxun','jsrg_luxun'],
|
||||||
lvmeng:['lvmeng','re_lvmeng','sb_lvmeng'],
|
lvmeng:['lvmeng','re_lvmeng','sb_lvmeng'],
|
||||||
huanggai:['huanggai','re_huanggai','sb_huanggai'],
|
huanggai:['huanggai','re_huanggai','sb_huanggai'],
|
||||||
daqiao:['daqiao','re_daqiao','sb_daqiao'],
|
daqiao:['daqiao','re_daqiao','sb_daqiao'],
|
||||||
|
|
|
@ -13524,7 +13524,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
fengfangnv:['fengfangnv','re_fengfangnv'],
|
fengfangnv:['fengfangnv','re_fengfangnv'],
|
||||||
luotong:['dc_luotong','luotong'],
|
luotong:['dc_luotong','luotong'],
|
||||||
dc_wangchang:['dc_wangchang','tw_wangchang'],
|
dc_wangchang:['dc_wangchang','tw_wangchang'],
|
||||||
guozhao:['guozhao','xin_guozhao'],
|
guozhao:['guozhao','xin_guozhao','jsrg_guozhao'],
|
||||||
dingshangwan:['dingshangwan','ol_dingshangwan'],
|
dingshangwan:['dingshangwan','ol_dingshangwan'],
|
||||||
},
|
},
|
||||||
translate:{
|
translate:{
|
||||||
|
|
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 102 KiB |
|
@ -6017,7 +6017,18 @@ export class Game extends Uninstantable {
|
||||||
if (info.usable && get.skillCount(skills2[i]) >= info.usable) enable = false;
|
if (info.usable && get.skillCount(skills2[i]) >= info.usable) enable = false;
|
||||||
if (info.chooseButton && _status.event.noButton) enable = false;
|
if (info.chooseButton && _status.event.noButton) enable = false;
|
||||||
if (info.round && (info.round - (game.roundNumber - player.storage[skills2[i] + '_roundcount']) > 0)) enable = false;
|
if (info.round && (info.round - (game.roundNumber - player.storage[skills2[i] + '_roundcount']) > 0)) enable = false;
|
||||||
if (player.storage[`temp_ban_${skills2[i]}`] === true) enable = false;
|
for (const item in player.storage) {
|
||||||
|
if (item.startsWith('temp_ban_')) {
|
||||||
|
if(player.storage[item] !== true) continue;
|
||||||
|
const skillName = item.slice(9);
|
||||||
|
if (lib.skill[skillName]) {
|
||||||
|
const skills=game.expandSkills([skillName]);
|
||||||
|
if(skills.includes(skills2[i])) {
|
||||||
|
enable = false; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (enable) {
|
if (enable) {
|
||||||
if (event.isMine() || !event._aiexclude.includes(skills2[i])) {
|
if (event.isMine() || !event._aiexclude.includes(skills2[i])) {
|
||||||
|
|
|
@ -3014,7 +3014,16 @@ export class Get extends Uninstantable {
|
||||||
var js = node.getCards('j');
|
var js = node.getCards('j');
|
||||||
for (var i = 0; i < js.length; i++) {
|
for (var i = 0; i < js.length; i++) {
|
||||||
if (js[i].viewAs && js[i].viewAs != js[i].name) {
|
if (js[i].viewAs && js[i].viewAs != js[i].name) {
|
||||||
uiintro.add('<div><div class="skill">' + js[i].outerHTML + '</div><div>' + lib.translate[js[i].viewAs] + ':' + lib.translate[js[i].viewAs + '_info'] + '</div></div>');
|
let html = js[i].outerHTML;
|
||||||
|
let cardInfo = lib.card[js[i].viewAs], showCardIntro=true;
|
||||||
|
if (cardInfo.blankCard) {
|
||||||
|
var cardOwner = get.owner(js[i]);
|
||||||
|
if (cardOwner && !cardOwner.isUnderControl(true)) showCardIntro = false;
|
||||||
|
}
|
||||||
|
if (!showCardIntro) {
|
||||||
|
html=ui.create.button(js[i],'blank').outerHTML;
|
||||||
|
}
|
||||||
|
uiintro.add('<div><div class="skill">' + html + '</div><div>' + lib.translate[js[i].viewAs] + ':' + lib.translate[js[i].viewAs + '_info'] + '</div></div>');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
uiintro.add('<div><div class="skill">' + js[i].outerHTML + '</div><div>' + lib.translate[js[i].name + '_info'] + '</div></div>');
|
uiintro.add('<div><div class="skill">' + js[i].outerHTML + '</div><div>' + lib.translate[js[i].name + '_info'] + '</div></div>');
|
||||||
|
@ -3484,7 +3493,7 @@ export class Get extends Uninstantable {
|
||||||
const defaultYingbianEffect = get.defaultYingbianEffect(node.link || node);
|
const defaultYingbianEffect = get.defaultYingbianEffect(node.link || node);
|
||||||
if (lib.yingbian.prompt.has(defaultYingbianEffect)) yingbianEffects.push(defaultYingbianEffect);
|
if (lib.yingbian.prompt.has(defaultYingbianEffect)) yingbianEffects.push(defaultYingbianEffect);
|
||||||
}
|
}
|
||||||
if (yingbianEffects.length) uiintro.add(`<div class="text" style="font-family: yuanli">应变:${yingbianEffects.map(value => lib.yingbian.prompt.get(value)).join(';')}</div>`);
|
if (yingbianEffects.length && showCardIntro) uiintro.add(`<div class="text" style="font-family: yuanli">应变:${yingbianEffects.map(value => lib.yingbian.prompt.get(value)).join(';')}</div>`);
|
||||||
}
|
}
|
||||||
if (lib.translate[name + '_append']) {
|
if (lib.translate[name + '_append']) {
|
||||||
uiintro.add('<div class="text" style="display:inline">' + lib.translate[name + '_append'] + '</div>');
|
uiintro.add('<div class="text" style="display:inline">' + lib.translate[name + '_append'] + '</div>');
|
||||||
|
|
|
@ -476,6 +476,9 @@ export const Content = {
|
||||||
else black.push([target, card]);
|
else black.push([target, card]);
|
||||||
}
|
}
|
||||||
event.red = red; event.black = black;
|
event.red = red; event.black = black;
|
||||||
|
event.trigger('debateShowOpinion');
|
||||||
|
'step 2'
|
||||||
|
var red = event.red, black = event.black;
|
||||||
if (red.length) {
|
if (red.length) {
|
||||||
game.log(red.map(function (i) {
|
game.log(red.map(function (i) {
|
||||||
return i[0];
|
return i[0];
|
||||||
|
@ -528,7 +531,7 @@ export const Content = {
|
||||||
dialog.open();
|
dialog.open();
|
||||||
}, get.translation(player), event.videoId, red, black);
|
}, get.translation(player), event.videoId, red, black);
|
||||||
game.delay(4);
|
game.delay(4);
|
||||||
'step 2';
|
'step 3';
|
||||||
game.broadcastAll('closeDialog', event.videoId);
|
game.broadcastAll('closeDialog', event.videoId);
|
||||||
var opinion = null;
|
var opinion = null;
|
||||||
if (event.red.length > event.black.length) opinion = 'red';
|
if (event.red.length > event.black.length) opinion = 'red';
|
||||||
|
@ -542,7 +545,7 @@ export const Content = {
|
||||||
black: event.black,
|
black: event.black,
|
||||||
targets: event.targets
|
targets: event.targets
|
||||||
};
|
};
|
||||||
'step 3';
|
'step 4';
|
||||||
if (event.callback) {
|
if (event.callback) {
|
||||||
var next = game.createEvent('debateCallback', false);
|
var next = game.createEvent('debateCallback', false);
|
||||||
next.player = player;
|
next.player = player;
|
||||||
|
|
|
@ -9691,7 +9691,16 @@ export class Library extends Uninstantable {
|
||||||
if (typeof info.usable == 'number' && player.hasSkill('counttrigger') &&
|
if (typeof info.usable == 'number' && player.hasSkill('counttrigger') &&
|
||||||
player.storage.counttrigger && player.storage.counttrigger[skill] >= info.usable) return false;
|
player.storage.counttrigger && player.storage.counttrigger[skill] >= info.usable) return false;
|
||||||
if (info.round && (info.round - (game.roundNumber - player.storage[skill + '_roundcount']) > 0)) return false;
|
if (info.round && (info.round - (game.roundNumber - player.storage[skill + '_roundcount']) > 0)) return false;
|
||||||
if (player.storage[`temp_ban_${skill}`] === true) return false;
|
for (const item in player.storage) {
|
||||||
|
if (item.startsWith('temp_ban_')) {
|
||||||
|
if(player.storage[item] !== true) continue;
|
||||||
|
const skillName = item.slice(9);
|
||||||
|
if (lib.skill[skillName]) {
|
||||||
|
const skills=game.expandSkills([skillName]);
|
||||||
|
if(skills.includes(skill)) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
characterDisabled: function (i, libCharacter) {
|
characterDisabled: function (i, libCharacter) {
|
||||||
|
@ -12781,6 +12790,10 @@ export class Library extends Uninstantable {
|
||||||
color: '#c3f9ff',
|
color: '#c3f9ff',
|
||||||
nature: 'thundermm',
|
nature: 'thundermm',
|
||||||
}],
|
}],
|
||||||
|
['合', {
|
||||||
|
color: '#c3f9ff',
|
||||||
|
nature: 'thundermm',
|
||||||
|
}],
|
||||||
['转', {
|
['转', {
|
||||||
color: '#c3f9ff',
|
color: '#c3f9ff',
|
||||||
nature: 'thundermm',
|
nature: 'thundermm',
|
||||||
|
|