新服斗地主之隅泣曹操、缺德刘备、会玩孙权

This commit is contained in:
copcap 2023-08-22 14:06:42 +08:00
parent 0b43d74cf1
commit 9f76f630e6
No known key found for this signature in database
GPG Key ID: 9AE7B8AF097EC926
6 changed files with 245 additions and 3 deletions

View File

@ -4,6 +4,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'collab',
connect:true,
character:{
dc_caocao:['male','wei',4,['dcjianxiong']],
dc_liubei:['male','shu',4,['dcrende']],
dc_sunquan:['male','wu',4,['dczhiheng']],
zhutiexiong:['male','qun',3,['dcbianzhuang']],
wu_zhutiexiong:['male','qun',3,['dcbianzhuang'],['unseen']],
xiaoyuehankehan:['male','qun',3,['dctongliao','dcwudao']],
@ -30,9 +33,227 @@ game.import('character',function(lib,game,ui,get,ai,_status){
collab_tongque:["sp_fuwan","sp_fuhuanghou","sp_jiben","old_lingju",'sp_mushun'],
collab_duanwu:['sunwukong','longwang','taoshen'],
collab_decade:['libai','xiaoyuehankehan','zhutiexiong','wu_zhutiexiong'],
collab_remake:['dc_caocao','dc_liubei','dc_sunquan'],
},
},
skill:{
//隅泣曹操
dcjianxiong:{
audio:'rejianxiong',
trigger:{
player:'damageEnd',
},
content:function (){
'step 0'
if(get.itemtype(trigger.cards)=='cards'&&get.position(trigger.cards[0],true)=='o'){
player.gain(trigger.cards,'gain2');
}
player.draw(player.countMark('dcjianxiong')+1,'nodelay');
'step 1'
if(player.countMark('dcjianxiong')<4) player.addMark('dcjianxiong',1,false);
},
marktext:'雄',
intro:{
markcount:function(storage,player){
return player.countMark('dcjianxiong')+1;
},
content:function(storage,player){
return '摸牌数为'+(player.countMark('dcjianxiong')+1);
},
},
ai:{
maixie:true,
maixie_hp:true,
effect:{
target:function (card,player,target){
if(player.hasSkillTag('jueqing',false,target)) return [1,-1];
if(get.tag(card,'damage')&&player!=target){
var cards=card.cards,evt=_status.event;
if(evt.player==target&&card.name=='damage'&&evt.getParent().type=='card') cards=evt.getParent().cards.filterInD();
if(target.hp<=1) return;
if(get.itemtype(cards)!='cards') return;
for(var i of cards){
if(get.name(i,target)=='tao') return [1,5+player.countMark('dcjianxiong')/2];
}
if(get.value(cards,target)>=(7-player.countMark('dcjianxiong')/2+target.getDamagedHp())) return [1,3+player.countMark('dcjianxiong')/2];
return [1,0.6+player.countMark('dcjianxiong')/2];
}
},
},
},
},
//缺德刘备
dcrende:{
audio:'rerende',
enable:'phaseUse',
filter:function(event,player){
return game.hasPlayer(current=>{
return lib.skill.dcrende.filterTarget(null,player,current);
});
},
discard:false,
lose:false,
delay:false,
filterTarget:function(card,player,target){
if(player.getStorage('dcrende_targeted').contains(target)) return false;
return player!=target&&target.countGainableCards(player,'h')>1;
},
content:function(){
'step 0'
player.addTempSkill('dcrende_targeted','phaseUseAfter');
player.markAuto('dcrende_targeted',[target]);
player.gainPlayerCard(target,'h',true,2);
'step 1'
var list=[];
for(var name of lib.inpile){
if(get.type(name)!='basic') continue;
var card={name:name,isCard:true};
if(lib.filter.cardUsable(card,player,event.getParent('chooseToUse'))&&game.hasPlayer(current=>{
return player.canUse(card,current);
})){
list.push(['基本','',name]);
}
if(name=='sha'){
for(var nature of lib.inpile_nature){
card.nature=nature;
if(lib.filter.cardUsable(card,player,event.getParent('chooseToUse'))&&game.hasPlayer(current=>{
return player.canUse(card,current);
})){
list.push(['基本','',name,nature]);
}
}
}
}
if(list.length){
player.chooseButton(['是否视为使用一张基本牌?',[list,'vcard']]).set('ai',function(button){
var player=_status.event.player;
var card={name:button.link[2],nature:button.link[3],isCard:true};
if(card.name=='tao'){
if(player.hp==1||(player.hp==2&&!player.hasShan())||player.needsToDiscard()){
return 5;
}
return 1;
}
if(card.name=='sha'){
if(game.hasPlayer(function(current){
return player.canUse(card,current)&&get.effect(current,card,player,player)>0
})){
if(card.nature=='fire') return 2.95;
if(card.nature=='thunder'||card.nature=='ice') return 2.92;
return 2.9;
}
return 0;
}
if(card.name=='jiu'){
return 0.5;
}
return 0;
});
}
else{
event.finish();
}
'step 2'
if(result&&result.bool&&result.links[0]){
var card={name:result.links[0][2],nature:result.links[0][3],isCard:true};
player.chooseUseTarget(card,true);
}
},
subSkill:{
targeted:{
onremove:true,
charlotte:true,
},
},
ai:{
fireAttack:true,
order:function(skill,player){
return 10;
},
result:{
target:function(player,target){
if(target.hasSkillTag('noh')) return -0.1;
return -2;
}
},
threaten:3,
},
},
//会玩孙权
dczhiheng:{
audio:'rezhiheng',
enable:'phaseUse',
position:'he',
filterCard:lib.filter.cardDiscardable,
discard:false,
lose:false,
delay:false,
selectCard:[1,Infinity],
filter:function(event,player){
var skill=player.getStat().skill;
return !skill.dczhiheng||skill.dczhiheng<1+player.getStorage('dczhiheng_hit').length;
},
check:function(card){
var player=_status.event.player;
if(get.position(card)=='h'&&!player.countCards('h','du')&&(player.hp>2||!player.countCards('h',function(card){
return get.value(card)>=8;
}))){
return 1;
}
return 6-get.value(card)
},
group:'dczhiheng_add',
content:function(){
'step 0'
player.discard(cards);
event.num=1;
var hs=player.getCards('h');
if(!hs.length) event.num=0;
for(var i=0;i<hs.length;i++){
if(!cards.contains(hs[i])){
event.num=0;break;
}
}
'step 1'
player.draw(event.num+cards.length);
},
subSkill:{
add:{
audio:2,
trigger:{
source:'damageSource',
},
forced:true,
locked:false,
filter:function(event,player){
return !player.getStorage('dczhiheng_hit').contains(event.player);
},
content:function(){
player.addTempSkill('dczhiheng_hit');
player.markAuto('dczhiheng_hit',[trigger.player]);
}
},
hit:{
charlotte:true,
onremove:true,
mark:true,
marktext:'衡',
intro:{
markcount:function(storage,player){
return player.getStorage('dczhiheng_hit').length;
},
content:'本回合已对$造成过伤害',
},
}
},
ai:{
order:1,
result:{
player:1
},
threaten:1.55
},
},
//朱铁雄
dcbianzhuang:{
audio:2,
@ -1303,6 +1524,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
},
dynamicTranslate:{
dcjianxiong:function(player){
return '当你受到伤害后,你可以摸'+get.cnNumber(player.countMark('dcjianxiong')+1)+'张牌并获得对你造成伤害的牌,然后你令此技能摸牌数+1至多为5。';
},
},
translate:{
old_lingju:'SP灵雎',
fenxin_old:'焚心',
@ -1366,11 +1592,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wu_zhutiexiong:'朱铁雄',
dcbianzhuang:'变装',
dcbianzhuang_info:'①出牌阶段限一次你可以从系统随机选择的两个技能中获得一个并视为使用一张【杀】无距离次数限制然后失去以此法获得的技能。②当你使用装备牌后你清空此技能的发动次数记录。③当你发动〖变装①〗后若你发动〖变装①〗的次数大于2则你将武将牌变更为诸葛亮并将系统选择的技能数改为三个。',
dc_caocao:'经典曹操',
dc_caocao_ab:'曹操',
dcjianxiong:'奸雄',
dcjianxiong_info:'当你受到伤害后,你可以摸一张牌并获得对你造成伤害的牌,然后你令此技能摸牌数+1至多为5。',
dc_liubei:'经典刘备',
dc_liubei_ab:'刘备',
dcrende:'仁德',
dcrende_info:'出牌阶段每名角色限一次。你可以获得一名其他角色两张手牌,然后视为使用一张基本牌。',
dc_sunquan:'经典孙权',
dc_sunquan_ab:'孙权',
dczhiheng:'制衡',
dczhiheng_info:'①出牌阶段限一次。你可以弃置任意张牌并摸等量的牌,若你在发动〖制衡〗时弃置了所有手牌,则你多摸一张牌。②每回合每名角色限一次。当你对其他角色造成伤害后,你令〖制衡①〗于此回合发动次数上限+1。',
collab_olympic:'OL·伦敦奥运会',
collab_tongque:'OL·铜雀台',
collab_duanwu:'新服·端午畅玩',
collab_decade:'新服·创玩节',
collab_remake:'新服·共创武将',
},
};
});

View File

@ -305,6 +305,9 @@ window.noname_character_rank={
'clan_zhonghui',
'jsrg_chunyuqiong',
'jsrg_guanyu',
'dc_caocao',
'dc_liubei',
'dc_sunquan',
'yuechen',
'key_misuzu',
'key_sunohara',

View File

@ -2471,7 +2471,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
characterReplace:{
caocao:['re_caocao','caocao'],
caocao:['re_caocao','caocao','dc_caocao'],
guojia:['re_guojia','guojia','ps1059_guojia','ps2070_guojia'],
simayi:['re_simayi','simayi','ps_simayi','ps2068_simayi'],
jin_simayi:['jin_simayi','junk_simayi','ps_jin_simayi'],
@ -2480,7 +2480,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangliao:['re_zhangliao','zhangliao'],
sp_zhangliao:['sp_zhangliao','yj_zhangliao','jsrg_zhangliao'],
xiahoudun:['re_xiahoudun','xin_xiahoudun','xiahoudun'],
liubei:['re_liubei','liubei','junk_liubei'],
liubei:['re_liubei','liubei','dc_liubei','junk_liubei'],
guanyu:['re_guanyu','guanyu','jsrg_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'],
@ -2489,7 +2489,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_machao:['sp_machao','old_machao'],
zhugeliang:['re_zhugeliang','zhugeliang','ps2066_zhugeliang','ps_zhugeliang'],
huangyueying:['re_huangyueying','huangyueying','junk_huangyueying'],
sunquan:['re_sunquan','sunquan'],
sunquan:['re_sunquan','sunquan','dc_sunquan'],
zhouyu:['re_zhouyu','zhouyu','ps1062_zhouyu','ps2080_zhouyu'],
luxun:['re_luxun','luxun'],
lvmeng:['re_lvmeng','lvmeng'],

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB