江山如故·合

This commit is contained in:
copcap 2024-01-17 19:39:12 +08:00
parent 232c61709e
commit fd2195e1a6
No known key found for this signature in database
GPG Key ID: 30E7AB6699451AEE
25 changed files with 2015 additions and 19 deletions

View File

@ -11092,6 +11092,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangchu:['zhangchu','jsrg_zhangchu'],
xianglang:['xianglang','mb_xianglang'],
chengui:['chengui','mb_chengui'],
liuyong:['liuyong','jsrg_liuyong'],
zhangxuan:['zhangxuan','jsrg_zhangxuan'],
gaoxiang:['gaoxiang','jsrg_gaoxiang'],
},
translate:{
re_panfeng:'潘凤',

File diff suppressed because it is too large Load Diff

View File

@ -15391,7 +15391,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhanggong:['zhanggong','re_zhanggong'],
baosanniang:['xin_baosanniang','re_baosanniang','baosanniang'],
heqi:['re_heqi','heqi'],
weiwenzhugezhi:['weiwenzhugezhi','re_weiwenzhugezhi'],
weiwenzhugezhi:['weiwenzhugezhi','re_weiwenzhugezhi','jsrg_weiwenzhugezhi'],
xugong:['xugong','re_xugong','jsrg_xugong'],
liuzan:['re_liuzan','liuzan'],
sufei:['yj_sufei','sp_sufei','xf_sufei'],

View File

@ -7714,7 +7714,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
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:['jiangwei','ol_jiangwei','re_jiangwei','sb_jiangwei'],
jiangwei:['jiangwei','ol_jiangwei','re_jiangwei','sb_jiangwei','jsrg_jiangwei'],
liushan:['liushan','ol_liushan','re_liushan'],
sunce:['sunce','re_sunce','re_sunben','sb_sunce'],
zhangzhang:['zhangzhang','ol_zhangzhang','re_zhangzhang'],

View File

@ -13360,7 +13360,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
direct:true,
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(){
'step 0'
@ -26332,7 +26332,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
retuogu:'托孤',
retuogu_info:'一名角色死亡时,你可以令其选择其武将牌上的一个技能(主公技,限定技,觉醒技,隐匿技、使命技等特殊技能除外),然后你获得其选择的技能并失去上次因〖托孤〗获得的技能。',
shanzhuan:'擅专',
shanzhuan_info:'当你对其他角色造成伤害后,若其判定区没有牌,则你可以将其的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。回合结束时,若你本回合内未造成伤害,你可摸一张牌。',
shanzhuan_info:'当你对其他角色造成伤害后,若其判定区没有延时类锦囊牌,则你可以将其的一张牌置于其的判定区。若此牌不为延时锦囊牌且此牌为:红色,此牌视为【乐不思蜀】;黑色,此牌视为【兵粮寸断】。回合结束时,若你本回合内未造成伤害,你可摸一张牌。',
spniluan:'逆乱',
spniluan_info:'出牌阶段,你可以将一张黑色牌当做【杀】使用。此【杀】使用结算完成后,若你未因此【杀】造成过伤害,则你令此【杀】不计入使用次数。',
spweiwu:'违忤',

View File

@ -2325,7 +2325,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterReplace:{
caocao:['caocao','re_caocao','sb_caocao','dc_caocao'],
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'],
zhenji:['zhenji','re_zhenji','sb_zhenji','yj_zhenji'],
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'],
guanyu:['guanyu','re_guanyu','ps_guanyu','old_guanyu'],
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'],
machao:['machao','re_machao','sb_machao','ps_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'],
sunquan:['sunquan','re_sunquan','sb_sunquan','dc_sunquan'],
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'],
huanggai:['huanggai','re_huanggai','sb_huanggai'],
daqiao:['daqiao','re_daqiao','sb_daqiao'],

View File

@ -13524,7 +13524,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fengfangnv:['fengfangnv','re_fengfangnv'],
luotong:['dc_luotong','luotong'],
dc_wangchang:['dc_wangchang','tw_wangchang'],
guozhao:['guozhao','xin_guozhao'],
guozhao:['guozhao','xin_guozhao','jsrg_guozhao'],
dingshangwan:['dingshangwan','ol_dingshangwan'],
},
translate:{

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

View File

@ -6017,7 +6017,18 @@ export class Game extends Uninstantable {
if (info.usable && get.skillCount(skills2[i]) >= info.usable) 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 (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 (event.isMine() || !event._aiexclude.includes(skills2[i])) {

View File

@ -3014,7 +3014,16 @@ export class Get extends Uninstantable {
var js = node.getCards('j');
for (var i = 0; i < js.length; i++) {
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 {
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);
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']) {
uiintro.add('<div class="text" style="display:inline">' + lib.translate[name + '_append'] + '</div>');

View File

@ -476,6 +476,9 @@ export const Content = {
else black.push([target, card]);
}
event.red = red; event.black = black;
event.trigger('debateShowOpinion');
'step 2'
var red = event.red, black = event.black;
if (red.length) {
game.log(red.map(function (i) {
return i[0];
@ -528,7 +531,7 @@ export const Content = {
dialog.open();
}, get.translation(player), event.videoId, red, black);
game.delay(4);
'step 2';
'step 3';
game.broadcastAll('closeDialog', event.videoId);
var opinion = null;
if (event.red.length > event.black.length) opinion = 'red';
@ -542,7 +545,7 @@ export const Content = {
black: event.black,
targets: event.targets
};
'step 3';
'step 4';
if (event.callback) {
var next = game.createEvent('debateCallback', false);
next.player = player;

View File

@ -9691,7 +9691,16 @@ export class Library extends Uninstantable {
if (typeof info.usable == 'number' && player.hasSkill('counttrigger') &&
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 (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;
},
characterDisabled: function (i, libCharacter) {
@ -12781,6 +12790,10 @@ export class Library extends Uninstantable {
color: '#c3f9ff',
nature: 'thundermm',
}],
['合', {
color: '#c3f9ff',
nature: 'thundermm',
}],
['转', {
color: '#c3f9ff',
nature: 'thundermm',