Yusa-chan

This commit is contained in:
Spmario233 2021-04-26 22:07:47 +08:00
parent bae017ea37
commit bec3319a41
42 changed files with 744 additions and 209 deletions

BIN
audio/die/caosong.mp3 Normal file

Binary file not shown.

BIN
audio/die/re_taoqian.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
audio/die/xin_handang.mp3 Normal file

Binary file not shown.

BIN
audio/die/zhaozhong.mp3 Normal file

Binary file not shown.

BIN
audio/skill/cslilu1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/cslilu2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/csyizheng1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/csyizheng2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/huangkong1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/huangkong2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejueqing1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/rejueqing2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/reshangshi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/reshangshi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xingongji1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xingongji2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xinjiefan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xinjiefan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yangzhong1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yangzhong2.mp3 Normal file

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.

View File

@ -2502,25 +2502,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
abyusa_jueqing:{
trigger:{source:'damageBegin2'},
skillAnimation:true,
animationColor:'water',
animationColor:'metal',
filter:function(event,player){
return player!=event.player&&!player.hasSkill('abyusa_jueqing_1st');
},
prompt2:function(event,player){
var num=get.cnNumber(2*event.num);
return '防止即将令其造成的伤害,改为令其失去'+num+'点体力并对自己造成'+num+'点伤害';
return '令即将对其造成的伤害+'+event.num+',并令自己失去'+get.cnNumber(event.num)+'点体力';
},
check:function(event,player){
return player.hp>event.num*2&&event.player.hp>event.num&&event.player.hp<=2*event.num&&get.attitude(player,event.player)<0;
return player.hp>event.num&&event.player.hp>event.num&&!event.player.hasSkillTag('filterDamage',null,{
player:player,
card:event.card,
})&&get.attitude(player,event.player)<0;
},
logTarget:'player',
content:function(){
'step 0'
trigger.cancel();
trigger.player.loseHp(2*trigger.num);
player.damage(2*trigger.num);
'step 1'
player.addSkill('abyusa_jueqing_1st');
player.loseHp(trigger.num);
trigger.num*=2;
var next=game.createEvent('abyusa_jueqing_add',false);
event.next.remove(next);
trigger.after.push(next);
next.player=player;
next.setContent(function(){
player.addSkill('abyusa_jueqing_1st');
});
},
derivation:'abyusa_jueqing_rewrite',
},
@ -12825,7 +12830,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
abyusa_jueqing:function(player){
if(player.hasSkill('abyusa_jueqing_1st')) return '锁定技,你即将造成的伤害均视为失去体力。';
return '当你对其他角色造成伤害时,你可以防止此伤害。若如此做你令其失去2X点体力修改〖绝情〗并对自己造成2X点伤害。';
return '当你对其他角色造成伤害时,你可以令此伤害值+X。若如此做你失去X点体力并于此伤害结算完成后修改〖绝情〗X为伤害值。';
},
tomoya_shangxian:function(player){
if(player.storage.tomoya_shangxian) return '锁定技,你计算与其他角色的距离时始终从顺时针方向计算。出牌阶段开始时,你可摸一张牌,并改变此方向。';
@ -13224,7 +13229,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
akiko_dongcha_info_identity:'锁定技,其他角色的手牌对你可见。游戏开始时,你令其他角色的身份牌对你可见。',
akiko_dongcha_info:'锁定技,其他角色的手牌对你可见。',
abyusa_jueqing:'绝情',
abyusa_jueqing_info:'当你对其他角色造成伤害时,你可以防止此伤害。若如此做你令其失去2X点体力修改〖绝情〗并对自己造成2X点伤害。',
abyusa_jueqing_info:'当你对其他角色造成伤害时,你可以令此伤害值+X。若如此做你失去X点体力并于此伤害结算完成后修改〖绝情〗X为伤害值。',
abyusa_jueqing_1st:'绝情',
abyusa_jueqing_rewrite:'绝情·改',
abyusa_jueqing_rewrite_info:'锁定技,你即将造成的伤害均视为失去体力。',

View File

@ -12,11 +12,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobile_sunben:["re_sunben"],
mobile_standard:["xin_xiahoudun","xin_zhangfei"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai"],
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou"],
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou","re_handang"],
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"],
},
},
character:{
re_handang:['male','wu',4,['regongji','jiefan']],
sp_wangcan:['male','wei',3,['spqiai','spshanxi']],
sp_chenzhen:['male','shu',3,['shameng']],
sp_sunshao:['male','wu',3,['fubi','zuici']],
@ -4401,6 +4402,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.markSkill('rebiaozhao');
}
},
ai:{notemp:true},
},
"rebiaozhao2":{
trigger:{
@ -6127,6 +6129,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
zhaohuo:{
audio:2,
audioname:['re_taoqian'],
trigger:{global:'dying'},
forced:true,
//priority:12,
@ -6143,6 +6146,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yixiang:{
audio:2,
audioname:['re_taoqian'],
trigger:{target:'useCardToTargeted'},
frequent:true,
filter:function(event,player){
@ -6181,6 +6185,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yirang:{
audio:2,
audioname:['re_taoqian'],
trigger:{player:'phaseUseBegin'},
direct:true,
filter:function(event,player){
@ -7699,6 +7704,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jianzhan_info:'出牌阶段限一次你可选择一名其他角色A和其攻击范围内的另一名手牌数小于其的角色B。A选择一项①视为对B使用一张【杀】。②令你摸一张牌。',
duoji:'夺冀',
duoji_info:'限定技,出牌阶段,你可弃置两张手牌并选择一名装备区有牌的其他角色。你获得其装备区里的所有牌。',
re_handang:'手杀韩当',
mobile_standard:'手杀异构·标准包',
mobile_shenhua:'手杀异构·神话再临',

View File

@ -457,6 +457,7 @@ window.noname_character_rank={
'ns_luyusheng',
'sp_chenzhen',
'sp_wangcan',
'caosong',
],
bp:[
'chess_diaochan',
@ -653,6 +654,7 @@ window.noname_character_rank={
'ol_lisu',
'jin_simazhao',
'jin_zhangchunhua',
'xin_handang',
],
b:[
'diy_feishi',
@ -701,7 +703,7 @@ window.noname_character_rank={
'yanjun',
're_jsp_pangtong',
'handang',
'zhangchunhua',
're_zhangchunhua',
'xunyou',
'yufan',
'chengong',
@ -1008,6 +1010,7 @@ window.noname_character_rank={
'hanba',
'ns_fanchou',
'sp_sunshao',
'zhangchunhua',
],
d:[
'lvmeng',
@ -1288,6 +1291,8 @@ window.noname_character_rank={
'zhangling',
'ns_luyusheng',
'fanyufeng',
're_taoqian',
'caosong',
'key_haruko',
'key_akiko',
'key_sunohara',
@ -1587,6 +1592,8 @@ window.noname_character_rank={
'lisu',
'ol_lisu',
'zhaozhong',
're_zhangchunhua',
'xin_handang',
],
junk:[
'sunshao',

View File

@ -9,8 +9,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
refresh_shan:['re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong'],
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong','re_zhangchunhua'],
refresh_yijiang2:['old_madai','wangyi','guanzhang','xin_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong','re_fuhuanghou'],
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan','re_caozhen'],
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan'],
@ -18,6 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
connect:true,
character:{
re_zhangchunhua:['female','wei',3,['rejueqing','reshangshi']],
re_gongsunyuan:['male','qun',4,['rehuaiyi']],
re_caozhen:['male','wei',4,['residi']],
re_fuhuanghou:['female','qun',3,['rezhuikong','reqiuyuan']],
@ -42,7 +43,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_masu:['male','shu',3,['resanyao','rezhiman']],
re_sunluban:['female','wu',3,['rechanhui','rejiaojin']],
re_zhonghui:['male','wei',4,['requanji','zili']],
re_handang:['male','wu',4,['regongji','jiefan']],
xin_handang:['male','wu',4,['xingongji','xinjiefan']],
yujin_yujin:['male','wei',4,['rejieyue']],
re_caozhang:['male','wei',4,['new_jiangchi']],
re_chengpu:['male','wu',4,['decadelihuo','decadechunlao']],
@ -127,8 +128,171 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
perfectPair:{
sunben:['zhouyu','taishici','daqiao'],
re_xushu:['zhaoyun','sp_zhugeliang'],
},
skill:{
xingongji:{
enable:'phaseUse',
usable:1,
audio:2,
position:'he',
filterCard:true,
filter:function(event,player){
return player.countCards('h')>0;
},
check:function(card){
var base=0,player=_status.event.player,suit=get.suit(card,player),added=false,added2=false,added3;
if(get.type(card)=='equip'&&game.hasPlayer(function(target){
var att=get.attitude(player,target);
if(att>=0) return 0;
if(target.countCards('he',function(card){
return get.value(card)>5;
})) return -att;
})) base+=6;
var hs=player.getCards('h');
var muniu=player.getEquip('muniu');
if(muniu&&card!=muniu&&muniu.cards) hs=hs.concat(muniu.cards);
for(var i of hs){
if(i!=card&&get.name(i)=='sha'){
if(get.suit(i,player)==suit){
if(player.hasValueTarget(i,false)){
added3=true;
base+=5.5;
}
}
else{
if(player.hasValueTarget(i,false)) added2=true;
if(!added&&!player.hasValueTarget(i,null,true)&&player.hasValueTarget(i,false,true)){
base+=4;
added=true;
}
}
}
}
if(added3&&!added2) base-=4.5;
return base-get.value(card);
},
content:function(){
"step 0"
if(!player.storage.xingongji2) player.storage.xingongji2=[];
player.storage.xingongji2.add(get.suit(cards[0],player));
player.addTempSkill('xingongji2');
"step 1"
if(get.type(cards[0],null,cards[0].original=='h'?player:false)=='equip'){
player.chooseTarget('是否弃置一名角色的一张牌?',function(card,player,target){
return player!=target&&target.countCards('he')>0;
}).set('ai',function(target){
var att=get.attitude(player,target);
if(att>=0) return 0;
if(target.countCards('he',function(card){
return get.value(card)>5;
})) return -att;
return -att*0.8;
});
}
else{
event.finish();
}
"step 2"
if(result.bool){
player.line(result.targets,'green');
player.discardPlayerCard(result.targets[0],'he',true);
}
},
ai:{
order:4.5,
result:{
player:1
}
}
},
xingongji2:{
charlotte:true,
onremove:true,
mod:{
attackFrom:function(){
return -Infinity;
},
cardUsable:function(card,player){
if(card.name=='sha'&&player.storage.xingongji2.contains(get.suit(card))) return Infinity;
},
aiOrder:function(player,card,num){
if(get.name(card)=='sha'&&!player.storage.xingongji2.contains(get.suit(card))) return num+1;
},
},
mark:true,
intro:{
content:'使用$花色的杀无次数限制',
},
},
xinjiefan:{
skillAnimation:true,
animationColor:'wood',
audio:2,
unique:true,
limited:true,
enable:'phaseUse',
filterTarget:true,
content:function(){
"step 0"
player.awakenSkill('xinjiefan');
event.players=game.filterPlayer(function(current){
return current!=target&&current.inRange(target);
});
event.players.sortBySeat();
"step 1"
if(event.players.length){
event.current=event.players.shift();
event.current.animate('target');
player.line(event.current,'green');
if(event.current.countCards('he')&&target.isAlive()){
event.current.chooseToDiscard({subtype:'equip1'},'he','弃置一张武器牌或让'+
get.translation(target)+'摸一张牌').set('ai',function(card){
if(get.attitude(_status.event.player,_status.event.target)<0) return 7-get.value(card);
return -1;
}).set('target',target);
event.tempbool=false;
}
else{
event.tempbool=true;
}
}
else{
if(game.roundNumber<=1) player.addTempSkill('xinjiefan2');
event.finish();
}
"step 2"
if(event.tempbool||result.bool==false){
target.draw();
}
event.goto(1);
},
ai:{
order:5,
result:{
target:function(player,target){
if(player.hp>2&&game.roundNumber>1){
if(game.phaseNumber<game.players.length*2) return 0;
}
var num=0,players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i]!=target&&players[i].inRange(target)){
num++;
}
}
return num;
}
}
}
},
xinjiefan2:{
trigger:{player:'phaseEnd'},
forced:true,
popup:false,
content:function(){
player.restoreSkill('xinjiefan');
},
},
residi:{
trigger:{player:'phaseJieshuBegin'},
direct:true,
@ -1223,11 +1387,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.link();
delete event.result.skill;
},
group:'decadechunlao2',
group:['decadechunlao2','decadechunlaox'],
ai:{
jiuOther:true,
},
},
decadechunlaox:{
trigger:{player:'damageBegin2'},
silent:true,
lastDo:true,
filter:function(event,player){
return !player.isLinked();
},
content:function(){
trigger.decadechunlaox=true;
},
},
decadechunlao2:{
trigger:{
source:'damageSource',
@ -1235,7 +1410,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
prompt:'是否发动【醇醪】将武将牌重置?',
filter:function(event,player){
return player.isLinked()&&event.num>1;
return player.isLinked()&&event.num>1&&!event.decadechunlaox;
},
content:function(){
player.link();
@ -8731,7 +8906,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
olyajiao:'涯角',
olyajiao_info:'当你于回合外因使用或打出而失去手牌后,你可以展示牌堆顶的一张牌。若这两张牌的类别相同,你可以将展示的牌交给一名角色;若类别不同,你可弃置攻击范围内包含你的角色区域里的一张牌。',
re_zhonghui:'界钟会',
re_handang:'界韩当',
requanji:'权计',
requanji_info:'出牌阶段结束时若你的手牌数大于体力值或当你受到1点伤害后你可以摸一张牌然后将一张手牌置于武将牌上称为“权”你的手牌上限+XX为“权”的数量。',
regongji:'弓骑',
@ -8839,6 +9013,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
residi2:'司敌',
residi3:'司敌',
residi_info:'结束阶段,你可以将一张非基本牌置于武将牌上,称为“司”。其他角色的出牌阶段开始时,你可以移去一张“司”。若如此做,其本阶段内不能使用或打出与“司”颜色相同的牌。此阶段结束时,若其于此阶段内未使用过:【杀】,你视为对其使用一张【杀】。锦囊牌,你摸两张牌。',
gz_re_xushu:'徐庶',
re_zhangchunhua:'界张春华',
xin_handang:'界韩当',
xingongji:'弓骑',
xingongji2:'弓骑',
xingongji_info:'出牌阶段限一次,你可以弃置一张牌,然后你的攻击范围视为无限且使用与此牌花色相同的【杀】无次数限制直到回合结束。若你以此法弃置的牌为装备牌,则你可以弃置一名其他角色的一张牌。',
xinjiefan:'解烦',
xinjiefan_info:'限定技出牌阶段你可以选择一名角色令攻击范围内含有该角色的所有角色依次选择一项1.弃置一张武器牌2.令其摸一张牌。然后若游戏轮数为1则你于此回合结束时恢复此技能。',
refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风',

View File

@ -7725,7 +7725,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//priority:15,
audio:'shefu',
filter:function(event,player){
if(_status.currentPhase==player) return false;
if(_status.currentPhase==player||event.player==player) return false;
return player.storage.shefu2&&player.storage.shefu2.contains(event.card.name)&&event.player.getHistory('lose',function(evt){
return evt.getParent()==event&&evt.hs&&evt.hs.length==event.cards.length;
}).length;
@ -16175,11 +16175,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jici:'激词',
jici_info:'当你因发动〖鼓舌〗而扣置的拼点牌亮出后若点数小于X你可令点数+X若点数等于X你可令你本回合发动〖鼓舌〗的次数上限+1。X为你“饶舌”标记的数量',
shefu:'设伏',
shefu2:'设伏',
shefu_bg:'伏',
shefu_info:'结束阶段开始时你可以将一张牌移出游戏称为「伏兵」。并为「伏兵」记录一个基本牌或锦囊牌的名称须与其他「伏兵」记录的名称均不同。你的回合外当有其他角色使用与你记录的「伏兵」牌名相同的手牌时你可以取消此牌的所有目标然后移去该「伏兵」。若此时处于使用者的回合内则你令使用者当前的所有非Charlotte技失效直至回合结束。',
benyu:'贲育',
benyu2:'贲育',
benyu_info:'当你受到伤害后,若你的手牌数不大于伤害来源的手牌数你可以将手牌摸至与伤害来源手牌数相同至多摸至5张否则你可以弃置大于伤害来源手牌数的手然后对其造成1点伤害。',
benyu_info:'当你受到伤害后,你可选择①将手牌摸至与伤害来源手牌数相同至多摸至5张②弃置大于伤害来源手牌数的然后对其造成1点伤害。',
zhidao:'雉盗',
zhidao_info:'锁定技,当你于你的回合内第一次对区域里有牌的其他角色造成伤害后,你获得其手牌、装备区和判定区里的各一张牌,然后直到回合结束,其他角色不能被选择为你使用牌的目标。',
jili:'寄篱',

View File

@ -4,6 +4,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2',
connect:true,
character:{
caosong:['male','wei',3,['cslilu','csyizheng']],
re_taoqian:['male','qun',3,['zhaohuo','reyixiang','yirang']],
zhaozhong:['male','qun',6,['yangzhong','huangkong']],
fanyufeng:['female','qun',3,['bazhan','jiaoying']],
ol_lisu:['male','qun',3,['qiaoyan','xianzhu']],
@ -101,6 +103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"],
sp_huangjin:['liuhong','zhujun','re_hejin','re_hansui','liubian'],
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
sp_xuzhou:['re_taoqian','caosong'],
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','re_sunluyu','caobuxing','ol_yujin','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','zhaozhong'],
sp_mini:["mini_sunquan","mini_zuoci","mini_jiangwei","mini_diaochan","mini_zhangchunhua"],
sp_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
@ -109,8 +112,178 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
skill:{
//陶谦和曹嵩
cslilu:{
audio:2,
trigger:{player:'phaseDrawBegin1'},
filter:function(event,player){
return !event.numFixed;
},
check:function(event,player){
return Math.min(player.maxHp,5)-player.countCards('h')>3||game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)>0;
});
},
content:function(){
'step 0'
trigger.changeToZero();
'step 1'
player.drawTo(Math.min(player.maxHp,5));
'step 2'
if(player.countCards('h')>0){
var str='将至少一张手牌交给一名其他角色';
var num=player.countMark('cslilu');
if(num<player.countCards('h')){
if(num>0) str+=('。若给出的牌数大于'+get.cnNumber(num)+'张,则你');
else str+=',并';
str+='加1点体力上限并回复1点体力'
}
player.chooseCardTarget({
prompt:str,
filterCard:true,
filterTarget:lib.filter.notMe,
selectCard:[1,Infinity],
forced:true,
ai1:function(card){
if(ui.selected.cards.length<_status.event.goon){
if(get.tag(card,'damage')&&game.hasPlayer(function(current){
current!=player&&get.attitude(player,current)>0&&!current.hasSkillTag('nogain')&&!current.hasJudge('lebu')&&current.hasValueTarget(card);
})) return 1;
return 1/Math.max(0.1,get.value(card));
}
return 0;
},
ai2:function(target){
return Math.sqrt(5-Math.max(4,target.countCards('h')))*get.attitude(_status.event.player,target);
},
goon:function(){
if(!game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)>0&&!current.hasSkillTag('nogain')&&!current.hasJudge('lebu');
})) return 1;
if(num<player.countCards('h')) return num+1;
return 1;
}(),
});
}
else event.finish();
'step 3'
if(result.bool){
var num=player.countMark('cslilu');
result.targets[0].gain(result.cards,player,'giveAuto');
if(result.cards.length>num){
player.gainMaxHp();
player.recover();
}
player.storage.cslilu=result.cards.length;
player.markSkill('cslilu');
}
},
},
csyizheng:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('csyizheng'),lib.filter.notMe).set('ai',function(target){
if(target.isTurnedOver()||target.hasJudge('lebu')) return 0;
return get.attitude(_status.event.player,target)*Math.max(0,target.countCards('h')-2);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('csyizheng',target);
player.storage.csyizheng2=target;
player.addTempSkill('csyizheng2',{player:'phaseBegin'});
}
},
},
csyizheng2:{
audio:'csyizheng',
trigger:{
global:['recoverBegin','damageBegin1'],
},
forced:true,
charlotte:true,
logTarget:function(event){
return event.name=='damage'?event.source:event.player;
},
filter:function(event,player){
var target=lib.skill.csyizheng2.logTarget(event);
if(target!=player.storage.csyizheng2) return false;
return player.maxHp>target.maxHp;
},
content:function(){
player.loseMaxHp();
trigger.num++;
},
mark:'character',
intro:{
content:'$造成伤害或回复体力时若你的体力上限大于其则你减1点体力上限然后此伤害/回复量+1',
},
},
reyixiang:{
audio:'yixiang',
audioname:['re_taoqian'],
trigger:{player:'damageBegin1'},
forced:true,
filter:function(event,player){
var evt=event.getParent(2);
if(evt.name!='useCard'||evt.card!=event.card) return false;
var source=evt.player;
var phsu=evt.getParent('phaseUse');
if(!source||source==player||source!=phsu.player) return false;
return source.getHistory('useCard',function(evt2){
return evt2.getParent('phaseUse')==phsu;
})[0]==evt;
},
content:function(){
trigger.num--;
},
group:'reyixiang_card',
subSkill:{
card:{
trigger:{target:'useCardToTargeted'},
forced:true,
filter:function(event,player){
if(get.color(event.card)!='black') return false;
var evt=event.getParent();
var source=evt.player;
var phsu=evt.getParent('phaseUse');
if(!source||source==player||source!=phsu.player) return false;
return source.getHistory('useCard',function(evt2){
return evt2.getParent('phaseUse')==phsu;
}).indexOf(evt)==1;
},
content:function(){
trigger.excluded.add(player);
},
},
},
ai:{
effect:{
target:function(card,player,target,current,isLink){
if(isLink||!player.isPhaseUsing()) return;
var num;
var evt=_status.event.getParent('useCard'),evt2=_status.event.getParent('phaseUse');
if(evt.card==card){
num=player.getHistory('useCard',function(evt){
return evt.getParent('phaseUse')==evt2;
}).indexOf(evt);
}
else num=player.getHistory('useCard',function(evt){
return evt.getParent('phaseUse')==evt2;
}).length;
if(num<0||num>1) return;
if(num==0&&get.tag(card,'damage')) return 'zerotarget';
if(num==1&&get.color(card)=='black') return 'zeroplayertarget';
},
},
},
},
//赵忠
yangzhong:{
audio:2,
trigger:{
source:'damageSource',
player:'damageEnd',
@ -134,6 +307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
huangkong:{
audio:2,
trigger:{target:'useCardToTargeted'},
forced:true,
filter:function(event,player){
@ -1182,7 +1356,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
silent:true,
firstDo:true,
filter:function(event,player){
return player.isPhaseUsing()&&lib.skill.quanbian.hasHand(event);
return player.isPhaseUsing()&&lib.skill.quanbian.hasHand(event)&&get.type(event.card)!='equip';
},
content:function(){
var stat=player.getStat('skill');
@ -1192,7 +1366,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mod:{
cardEnabled2:function(card,player){
var stat=player.getStat('skill');
if(stat.quanbian&&stat.quanbian>=player.maxHp&&get.position(card)=='h') return false;
if(stat.quanbian&&stat.quanbian>=player.maxHp&&get.position(card)=='h'&&get.type(card,player)!='equip') return false;
},
},
},
@ -1814,8 +1988,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
threaten:1.7,
result:{
target:function(player,target){
if(target.hasSkillTag('nogain')) return -0.1;
return 1;
if(target.hasSkillTag('nogain')) return 0.1;
return Math.sqrt(target.countCards('he'));
},
},
},
@ -9225,6 +9399,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caoanmin:'曹安民(?-197年沛国谯县今安徽亳州字安民。东汉时期人物曹德之子曹操之侄曹昂的堂兄弟曹丕的堂兄死于宛城之战。按曹丕《典论》记载的“亡兄孝廉子脩、从兄安民遇害。”等情况来看安民应该是曹操侄子错不了曹丕是他们属于兄弟关系肯定不会弄错。另外从典论的记载来看安民是和子脩并提的子脩是曹昂的字安民则肯定也是字不是名至于三国志中记载则应取自曹丕之《典论》但陈寿又不知曹安民其名故写为“长子昂、弟子安民”。',
fanyufeng:'樊夫人东汉末年人物昔桂阳太守赵范寡嫂。赵云随刘备平定江南四郡后刘备以赵云为桂阳太守。赵范居心叵测要将自己的嫂嫂樊氏嫁给赵云但遭到赵云的拒绝。后来赵范逃走樊氏也下落不明。2001年应日本日中青少年文化中心成立50周年之邀北京京剧院赴日进行40场巡回演出这次访日的剧目都不同程度地进行了加工改编以符合日本观众的需求。《取桂阳》是根据老本重新排演的叶金援饰赵云王怡饰樊玉凤。剧中的樊玉凤成为文武双全的巾帼英雄被赵云收降后来在《龙凤呈祥》中也参与堵截东吴的追兵。',
zhaozhong:'赵忠—189年安平人东汉末年宦官赵延之兄。桓帝、灵帝时历为小黄门、中常侍、大长秋、车骑将军等职封都乡侯。在职时以搜刮暴敛、骄纵贪婪见称灵帝极为宠信常谓“赵常侍是我母”。中平六年189年何进谋诛宦官事泄他和其余几个常侍设计伏杀何进袁绍、袁术等人闻何进被杀入宫杀尽宦官后捕杀赵忠。',
caosong:'曹嵩—194年字巨高沛郡谯县今安徽省亳州市人。东汉大臣大长秋曹腾的养子曹操之父亲。门荫入仕历任司隶校尉、鸿胪卿、大司农位列九卿位高权重。中平四年187年靠着贿赂中官出任太尉位列三公。中平五年188年受累于黄巾之乱坐罪免官。兴平元年194年投奔兖州牧曹操遇害于徐州。延康元年220年追尊魏国太王。曹魏建立后追尊皇帝谥号为太。',
},
characterTitle:{
wulan:'#b对决限定武将',
@ -9293,6 +9468,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//jin_simashi:['jin_simashi','simashi'],
//jin_yanghuiyu:['jin_yanghuiyu','yanghuiyu'],
chunyuqiong:['chunyuqiong','re_chunyuqiong'],
taoqian:['taoqian','re_taoqian'],
},
translate:{
lijue:"李傕",
@ -9771,7 +9947,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gz_jin_simashi:'司马师',
gz_jin_xiahouhui:'夏侯徽',
xinquanbian:'权变',
xinquanbian_info:'出牌阶段,每当你首次使用/打出一种花色的手牌时你可以从牌堆顶的X张牌中获得一张与此牌花色不同的牌并将其余牌以任意顺序置于牌堆顶。出牌阶段你至多可使用X张手牌。X为你的体力上限',
xinquanbian_info:'出牌阶段,每当你首次使用/打出一种花色的手牌时你可以从牌堆顶的X张牌中获得一张与此牌花色不同的牌并将其余牌以任意顺序置于牌堆顶。出牌阶段你至多可使用X张非装备手牌。X为你的体力上限',
guozhao:'郭照',
pianchong:'偏宠',
pianchong2:'偏宠',
@ -9821,6 +9997,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yangzhong_info:'当你造成或受到伤害后若受伤角色和伤害来源均存活则伤害来源可弃置两张牌然后令受伤角色失去1点体力。',
huangkong:'惶恐',
huangkong_info:'锁定技,当你于回合外成为【杀】或伤害类锦囊牌的唯一目标后,若你没有手牌,则你摸两张牌。',
re_taoqian:'陶谦',
reyixiang:'义襄',
reyixiang_info:'锁定技,其他角色于其出牌阶段内使用的第一张牌对你的伤害-1其使用的第二张牌若为黑色则对你无效。',
caosong:'曹嵩',
cslilu:'礼赂',
cslilu_info:'摸牌阶段你可以放弃摸牌改为将手牌摸至X张然后将至少一张手牌交给一名其他角色。若你以此法给出的牌数大于你上次以此法给出的牌数则你加1点体力上限并回复1点体力。',
csyizheng:'翊正',
csyizheng2:'翊正',
csyizheng_info:'结束阶段开始时你可以选择一名其他角色。你的下回合开始前当该角色造成伤害或回复体力时若其体力上限小于你则你减1点体力上限且令此伤害值/回复值+1。',
sp_yingbian:'文德武备',
sp_whlw:"文和乱武",
@ -9833,6 +10018,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_guandu:'官渡之战',
sp_huangjin:'黄巾之乱',
sp_fadong:'诸侯伐董',
sp_xuzhou:'徐州风云',
sp_decade:'其他新服武将',
sp_mini:'欢乐三国杀',
sp_luanwu:'文和乱武·线下',

View File

@ -21,7 +21,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_wangyi:['female','wei',3,['oldzhenlie','oldmiji']],
caozhang:['male','wei',4,['jiangchi']],
guohuai:['male','wei',4,['rejingce']],
zhangchunhua:['female','wei',3,['rejueqing','reshangshi']],
zhangchunhua:['female','wei',3,['jueqing','shangshi']],
caozhi:['male','wei',3,['luoying','jiushi']],
caochong:['male','wei',3,['chengxiang','renxin']],
xunyou:['male','wei',3,['qice','zhiyu']],
@ -243,7 +243,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
rejueqing:{
audio:'jueqing',
audio:2,
trigger:{source:'damageBegin2'},
skillAnimation:true,
animationColor:'water',
@ -252,19 +252,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
prompt2:function(event,player){
var num=get.cnNumber(2*event.num);
return '防止即将令其造成的伤害,改为令其失去'+num+'点体力并对自己造成'+num+'点伤害';
return '令即将对其造成的伤害翻倍至'+num+',并令自己失去'+get.cnNumber(event.num)+'点体力';
},
check:function(event,player){
return player.hp>event.num*2&&event.player.hp>event.num&&event.player.hp<=2*event.num&&get.attitude(player,event.player)<0;
return player.hp>event.num&&event.player.hp>event.num&&!event.player.hasSkillTag('filterDamage',null,{
player:player,
card:event.card,
})&&get.attitude(player,event.player)<0;
},
logTarget:'player',
content:function(){
'step 0'
trigger.cancel();
trigger.player.loseHp(2*trigger.num);
player.damage(2*trigger.num);
'step 1'
player.addSkill('rejueqing_1st');
player.loseHp(trigger.num);
trigger.num*=2;
var next=game.createEvent('rejueqing_add',false);
event.next.remove(next);
trigger.after.push(next);
next.player=player;
next.setContent(function(){
player.addSkill('rejueqing_1st');
});
},
derivation:'rejueqing_rewrite',
},
@ -286,7 +292,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
reshangshi:{
audio:'shangshi',
audio:2,
trigger:{
player:['loseAfter','changeHp','gainMaxHpAfter','loseMaxHpAfter'],
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter'],
@ -12030,7 +12036,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dynamicTranslate:{
rejueqing:function(player){
if(player.hasSkill('rejueqing_1st')) return '锁定技,你即将造成的伤害均视为失去体力。';
return '当你对其他角色造成伤害时,你可以防止此伤害。若如此做你令其失去2X点体力修改〖绝情〗并对自己造成2X点伤害。';
return '当你对其他角色造成伤害时,你可以令此伤害值+X。若如此做你失去X点体力并于此伤害结算完成后修改〖绝情〗X为伤害值。';
},
reyanzhu:function(player){
if(!player.storage.reyanzhu) return '出牌阶段限一次,你可以令一名其他角色选择一项:将装备区里的所有牌交给你并令你修改〖宴诛〗和〖兴学〗,或弃置一张牌并令下一次受到的伤害+1直到其下回合开始。';
@ -12052,7 +12058,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterReplace:{
caozhi:['re_caozhi','caozhi'],
zhangchunhua:['zhangchunhua','mini_zhangchunhua'],
zhangchunhua:['re_zhangchunhua','zhangchunhua','mini_zhangchunhua'],
yujin:['yujin_yujin','re_yujin','ol_yujin','xin_yujin','yujin'],
xushu:['re_xushu','xin_xushu','xushu'],
fazheng:['re_fazheng','xin_fazheng','fazheng'],
@ -12068,7 +12074,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
madai:['old_madai','madai'],
liaohua:['xin_liaohua','re_liaohua','liaohua'],
bulianshi:['re_bulianshi','bulianshi','old_bulianshi'],
handang:['re_handang','handang'],
handang:['xin_handang','re_handang','handang'],
chengpu:['re_chengpu','chengpu','xin_chengpu'],
liubiao:['re_liubiao','xin_liubiao','liubiao'],
manchong:['re_manchong','manchong'],
@ -12656,7 +12662,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_fuhun:'父魂',
old_fuhun_info:'摸牌阶段开始时,你可以放弃摸牌,改为从牌堆顶亮出两张牌并获得之,若亮出的牌颜色不同,你获得技能“武圣”、“咆哮”,直到回合结束。',
rejueqing:'绝情',
rejueqing_info:'当你对其他角色造成伤害时,你可以防止此伤害。若如此做你令其失去2X点体力修改〖绝情〗并对自己造成2X点伤害。',
rejueqing_info:'当你对其他角色造成伤害时,你可以令此伤害值+X。若如此做你失去X点体力并于此伤害结算完成后修改〖绝情〗X为伤害值。',
rejueqing_1st:'绝情',
rejueqing_rewrite:'绝情·改',
rejueqing_rewrite_info:'锁定技,你即将造成的伤害均视为失去体力。',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'v1.9.109.3.3',
'v1.9.109.3.4',
'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3',
@ -691,6 +691,11 @@ window.noname_asset_list=[
'audio/die/sp_xunchen.mp3',
'audio/die/fanyufeng.mp3',
'audio/die/ol_lisu.mp3',
'audio/die/caosong.mp3',
'audio/die/re_taoqian.mp3',
'audio/die/re_zhangchunhua.mp3',
'audio/die/xin_handang.mp3',
'audio/die/zhaozhong.mp3',
'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3',
@ -3035,6 +3040,28 @@ window.noname_asset_list=[
'audio/skill/qiaoyan2.mp3',
'audio/skill/xianzhu1.mp3',
'audio/skill/xianzhu2.mp3',
'audio/skill/cslilu1.mp3',
'audio/skill/cslilu2.mp3',
'audio/skill/csyizheng1.mp3',
'audio/skill/csyizheng2.mp3',
'audio/skill/huangkong1.mp3',
'audio/skill/huangkong2.mp3',
'audio/skill/rejueqing1.mp3',
'audio/skill/rejueqing2.mp3',
'audio/skill/reshangshi1.mp3',
'audio/skill/reshangshi2.mp3',
'audio/skill/xingongji1.mp3',
'audio/skill/xingongji2.mp3',
'audio/skill/xinjiefan1.mp3',
'audio/skill/xinjiefan2.mp3',
'audio/skill/yangzhong1.mp3',
'audio/skill/yangzhong2.mp3',
'audio/skill/yirang_re_taoqian1.mp3',
'audio/skill/yirang_re_taoqian2.mp3',
'audio/skill/yixiang_re_taoqian1.mp3',
'audio/skill/yixiang_re_taoqian2.mp3',
'audio/skill/zhaohuo_re_taoqian1.mp3',
'audio/skill/zhaohuo_re_taoqian2.mp3',
'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3',
@ -3826,6 +3853,10 @@ window.noname_asset_list=[
'image/character/fanyufeng.jpg',
'image/character/ol_lisu.jpg',
'image/character/zhaozhong.jpg',
'image/character/caosong.jpg',
'image/character/re_taoqian.jpg',
'image/character/re_zhangchunhua.jpg',
'image/character/xin_handang.jpg',
'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg',

View File

@ -26246,17 +26246,15 @@
prompt:'将要重铸的牌置入弃牌堆并摸一张牌',
filter:function(event,player){
return player.hasCard(function(card){
var info=get.info(card);
if(typeof info.chongzhu=='function'){
return info.chongzhu(event,player);
}
return info.chongzhu;
return lib.skill._chongzhu.filterCard(card,player);
});
},
filterCard:function(card){
filterCard:function(card,player){
var mod=game.checkMod(card,player,'unchanged','cardChongzhuable',player);
if(mod!='unchanged') return mod;
var info=get.info(card);
if(typeof info.chongzhu=='function'){
return info.chongzhu(event,_status.event.player);
return info.chongzhu(event,player);
}
return info.chongzhu;
},

View File

@ -1,10 +1,10 @@
window.noname_update={
version:'1.9.109.3.3',
update:'1.9.109.3.2',
version:'1.9.109.3.4',
update:'1.9.109.3.3',
changeLog:[
'赵忠',
'新丁奉',
'同名武将替换体系拆分',
'界韩当、界张春华',
'曹嵩、陶谦',
'国战徐庶',
'bug修复',
],
files:[
@ -21,23 +21,23 @@ window.noname_update={
//'card/yingbian.js',
//'card/zhenfa.js',
//'card/zhulu.js',
//'character/diy.js',
'character/extra.js',
'character/diy.js',
//'character/extra.js',
//'character/hearth.js',
//'character/gujian.js',
//'character/gwent.js',
//'character/hearth.js',
//'character/mobile.js',
'character/mobile.js',
//'character/mtg.js',
//'character/old.js',
//'character/ow.js',
'character/rank.js',
//'character/refresh.js',
'character/shenhua.js',
'character/refresh.js',
//'character/shenhua.js',
'character/sp.js',
'character/sp2.js',
//'character/tw.js',
'character/standard.js',
//'character/standard.js',
//'character/swd.js',
//'character/xianjian.js',
//'character/xinghuoliaoyuan.js',
@ -48,7 +48,7 @@ window.noname_update={
//'layout/default/menu.css',
//'layout/nova/layout.css',
//'mode/boss.js',
'mode/brawl.js',
//'mode/brawl.js',
//'mode/chess.js',
//'mode/doudizhu.js',
'mode/guozhan.js',

BIN
image/character/caosong.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

File diff suppressed because it is too large Load Diff