diff --git a/extension.js b/extension.js
index 4cd256d..22d7c44 100644
--- a/extension.js
+++ b/extension.js
@@ -2608,8 +2608,9 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
"zioy_sushuang": ["male", "wei", "4/5/1", ['zioy_jietian','zioy_yunshuang'], []],
"zioy_kaixier": ["female", "qun", "2/4/3", ["zioy_helu"], []],
"zioy_ji1": ["male", "jin", "3", ["zioy_shimeng",'zioy_heimeng'], ["hiddenSkill"]],
- "zioy_pangxian": ["female", "shu", "20/24", ["zioy_zhu","zioy_bian1","zioy_bian2","zioy_bian3","zioy_bian4","zioy_gui"], ["des:新春特典.2024
春风又绿江南岸"]],
"zioy_tianqi": ["female", "daqin", "2", ["zioy_junling","zioy_junming","zioy_junci","zioy_junnu","zioy_junyun"], ["hiddenSkill"]],
+ "zioy_pangxian": ["female", "shu", "20/24", ["zioy_zhu","zioy_bian1","zioy_bian2","zioy_bian3","zioy_bian4","zioy_gui"], ["des:新春特典.2024
春风又绿江南岸"]],
+ "zioy_guanyu_cai": ["male", "shu", "6", ["zioy_zhaocai","zioy_jinbao"], []],
},
translate: {
"zioy_xixuegui": "弗拉基米尔",
@@ -2661,6 +2662,7 @@ game.import("extension", function (lib, game, ui, get, ai, _status) {
"zioy_ji1": '畸',
"zioy_pangxian": '逄暹',
"zioy_tianqi":'天启',
+ "zioy_guanyu_cai":`财神·关羽`
}
},
card: {
@@ -9643,6 +9645,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
limited:true,
skillAnimation:true,
animationColor:"soil",
+ marktext:'Ⅰ',
check:()=>true,
filter:()=>true,
content:function(){
@@ -9680,6 +9683,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
limited:true,
skillAnimation:true,
animationColor:"soil",
+ marktext:'Ⅱ',
check:(event,player)=>player.countCards('h') < event.player.countCards('h'),
filter:()=>true,
content:function(){
@@ -9697,21 +9701,24 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
trigger.player.gain(c)
}
'step 2'
- if(Math.min(2,player.countCards('h')) > 0)
- player.chooseCard('hej',`${get.translation(event.name)}:选择两张牌`,Math.min(2,player.countCards('h')),true)
+ if(Math.min(2,player.countCards('hej')) > 0)
+ player.chooseCard('hej',`${get.translation(event.name)}:选择两张牌`,Math.min(2,player.countCards('hej')),true)
'step 3'
event.cards = []
if(result&&result.cards)
event.cards = [...result.cards]
- if(Math.min(2,trigger.player.countCards('h')) > 0)
- trigger.player.chooseCard('hej',`${get.translation(event.name)}:选择两张牌`,Math.min(2,trigger.player.countCards('h')),true)
+ if(Math.min(2,trigger.player.countCards('hej')) > 0)
+ trigger.player.chooseCard('hej',`${get.translation(event.name)}:选择两张牌`,Math.min(2,trigger.player.countCards('hej')),true)
'step 4'
if(result&&result.cards){
for(let c of result.cards){
event.cards.push(c)
}
}
- player.chooseTarget(true)
+ player.chooseTarget(true).set("ai", function (target) {
+ var att = get.attitude(_status.event.player, target);
+ return att*999;
+ });
'step 5'
for(let c of event.cards){
game.log(c)
@@ -9726,6 +9733,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
limited:true,
skillAnimation:true,
animationColor:"soil",
+ marktext:'Ⅲ',
filter:()=>true,
content:function(){
'step 0'
@@ -9779,6 +9787,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
limited:true,
skillAnimation:true,
animationColor:"soil",
+ marktext:'Ⅳ',
check:()=>true,
filter:()=>true,
content:function(){
@@ -9816,7 +9825,7 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
};
}else{
for(let p of [player,target]){
- p.loseHp()
+ p.loseHp(2)
}
}
}).set('target',event.target);
@@ -9864,6 +9873,8 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
global:'phaseEnd'
},
forced:true,
+ skillAnimation:true,
+ animationColor:"soil",
content:function(){
'step 0'
player.discard(player.getCards('h'))
@@ -9879,10 +9890,17 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
skill = `zioy_bian${i}`
if(!r.skillMap.includes(skill)){
player.restoreSkill(skill)
+ }else{
+ player.awakenSkill(skill)
}
}
player.storage.skillMap = r.skillMap
- }
+ 'step 3'
+ player.update()
+ },
+ ai: {
+ threaten:2024,
+ },
},
"zioy_junling":{
trigger:{
@@ -10174,6 +10192,217 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
threaten:95,
},
},
+ zioy_zhaocai:{
+ trigger:{
+ player:"phaseDrawBegin"
+ },
+ filter:()=>true,
+ direct:true,
+ init:function(player){
+ game.addGlobalSkillMiao('zioy_zhaocai_ignoredHandcard')
+ },
+ content:function(){
+ 'step 0'
+ player.chooseTarget(`${get.translation(event.name)}:摸牌阶段开始时,你可选择一名角色,你令其将手牌摸至X张,若该角色不为你,你摸等量的牌。你可将你以此法获得的牌当作任意基本牌使用或打出。(X为其体力上限)}`,1,function (card, player, target) {
+ return target.countCards('h') < target.maxHp
+ }).set('ai', target => {
+ var att = get.attitude(player, target);
+ var index = target.maxHp - target.countCards('h')
+ return att * index;
+ })
+ 'step 1'
+ if(result.bool){
+ player.logSkill(event.name);
+ game.log(player,'发动了','【'+get.translation(event.name)+'】')
+ let target = result.targets[0]
+ let drawNum = target.maxHp - target.countCards('h')
+ target.draw(drawNum).gaintag=[event.name]
+ if(target !== player){
+ player.draw(drawNum).gaintag=[event.name]
+ }
+ }
+ },
+ group:['zioy_zhaocai_use'],
+ subSkill:{
+ use:{
+ enable:["chooseToUse","chooseToRespond"],
+ filter:function(event,player){
+ if(!event.player.hasCard(card=>card.hasGaintag('zioy_zhaocai'),'h')) return false;
+ for(var name of lib.inpile){
+ if(get.type2(name)!='basic') continue;
+ var card={name:name};
+ if(event.filterCard(card,player,event)) return true;
+ if(name=='sha'){
+ for(var nature of lib.inpile_nature){
+ card.nature=nature;
+ if(event.filterCard(card,player,event)) return true;
+ }
+ }
+ }
+ return false;
+ },
+ chooseButton:{
+ dialog:function(event,player){
+ var list=[];
+ for(var name of lib.inpile){
+ if(name=='sha'){
+ if(event.filterCard({name:name},player,event)) list.push(['基本','','sha']);
+ for(var nature of lib.inpile_nature){
+ if(event.filterCard({name:name,nature:nature},player,event)) list.push(['基本','','sha',nature]);
+ }
+ }
+ else if(get.type(name)=='basic'&&event.filterCard({name:name},player,event)) list.push(['基本','',name]);
+ }
+ var dialog=ui.create.dialog('招财',[list,'vcard']);
+ dialog.direct=true;
+ return dialog;
+ },
+ filter:function(button,player){
+ return _status.event.getParent().filterCard({name:button.link[2],nature:button.link[3]},player,_status.event.getParent());
+ },
+ check:function(button){
+ if(_status.event.getParent().type!='phase') return 1;
+ var player=_status.event.player;
+ if(['wugu','zhulu_card','yiyi','lulitongxin','lianjunshengyan','diaohulishan'].includes(button.link[2])) return 0;
+ return player.getUseValue({
+ name:button.link[2],
+ nature:button.link[3],
+ });
+ },
+ backup:function(links,player){
+ return {
+ filterCard: function (card) {
+ return card.hasGaintag('zioy_zhaocai');
+ },
+ popname:true,
+ check:function(card){
+ return 8-get.value(card);
+ },
+ position:'hes',
+ viewAs:{name:links[0][2],nature:links[0][3]},
+ precontent:function(){
+ delete event.result.skill;
+ var card=event.result.card;
+ },
+ }
+ },
+ prompt:function(links,player){
+ return '将一张牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
+ },
+ },
+ hiddenCard:function(player,name){
+ if(!lib.inpile.includes(name)) return false;
+ var type=get.type2(name);
+ return type=='basic'&&player.countCards('hes')>0&&!player.hasSkill('jsrgnianen_blocker');
+ },
+ ai:{
+ fireAttack:true,
+ respondSha:true,
+ respondShan:true,
+ order:1,
+ result:{
+ player:function(player){
+ if(_status.event.dying) return get.attitude(player,_status.event.dying);
+ return 1;
+ },
+ },
+ },
+ },
+ ignoredHandcard:{
+ mod:{
+ ignoredHandcard:function(card,player){
+ if(card.hasGaintag('zioy_zhaocai')){
+ return true;
+ }
+ },
+ cardDiscardable:function(card,player,name){
+ if(name=='phaseDiscard'&&card.hasGaintag('zioy_zhaocai')){
+ return false;
+ }
+ },
+ }
+ }
+ }
+ },
+ zioy_jinbao:{
+ enable:"phaseUse",
+ usable:1,
+ discard:false,
+ lose:false,
+ delay:false,
+ filterTarget:function(card,player,target){
+ return player.canCompare(target);
+ },
+ filter:function(event,player){
+ return player.countCards('h')>0;
+ },
+ content:function(){
+ "step 0"
+ player.chooseToCompare(target)
+ "step 1"
+ if(result.bool){
+ player.chooseTarget('令一名角色获得基本牌,锦囊牌,装备牌各一张。',true).set('ai', target => {
+ var att = get.attitude(player, target);
+ return att;
+ })
+ }
+ else{
+ target.gainPlayerCard('h', player, true).set('target',player).set('ai',lib.card.shunshou.ai.button);
+ target.gainPlayerCard('e', player, true).set('target',player).set('ai',lib.card.shunshou.ai.button);
+ event.goto(3)
+ }
+ "step 2"
+ let target1 = result.targets[0]
+ var cards=[],types=['basic','trick','equip'];
+ for(var i of types){
+ var card=get.cardPile2(function(card){
+ return get.type2(card,false)==i;
+ });
+ if(card) cards.push(card);
+ }
+ if(cards.length) target1.gain(cards,'gain2');
+ 'step 3'
+ player.chooseTarget(`令一名手牌数不多于你的角色获得本次拼点的牌。`,true,function (card, player, target) {
+ return target.countCards('h') <= player.countCards('h')
+ }).set('ai', target => {
+ var att = get.attitude(player, target);
+ return att;
+ })
+ 'step 4'
+ result.targets[0].gain(player.storage.zioy_jinbao_cards,'gain2','log');
+ },
+ subSkill:{
+ gain:{
+ trigger:{
+ player:["chooseToCompareAfter","compareMultipleAfter"],
+ },
+ filter(event,player){
+ if(event.getParent().name != 'zioy_jinbao')return false
+ if(event.preserve) return false;
+ return [event.card1,event.card2].filterInD('od').length>0;
+ },
+ direct:true,
+ content(){
+ player.storage.zioy_jinbao_cards = [trigger.card1,trigger.card2]
+ },
+ sub:true,
+ "_priority":0,
+ },
+ },
+ group:['zioy_jinbao_gain'],
+ ai:{
+ result:{
+ player:function(player){
+ return 2024;
+ },
+ target:function(player,target){
+ return -0.5;
+ },
+ },
+ order:9,
+ },
+ "_priority":0,
+ }
},
translate: {
"zioy_xixue": "汲血",
@@ -10505,13 +10734,13 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"zioy_bian1":'彼岸式·Ⅰ',
"zioy_bian1_info":'限定技,回合结束时,你可以令一名其他角色摸2张牌并展示其所有手牌,然后若其手牌中包含4种花色,你进行一个额外的回合。',
"zioy_bian2":'彼岸式·Ⅱ',
- "zioy_bian2_info":'限定技,当你造成伤害后,你可以与受伤角色交换手牌,然后你与其各选择两张手牌(不足则全选)并令一名角色获得之。',
+ "zioy_bian2_info":'限定技,当你造成伤害后,你可以与受伤角色交换手牌,然后你与其各选择两张区域内牌(不足则全选)并令一名角色获得之。',
"zioy_bian3":'彼岸式·Ⅲ',
"zioy_bian3_info":'限定技,出牌阶段,你可以重复展示牌堆顶第一张牌直至已展示4种花色,然后你可以使用其中至多2张牌。',
"zioy_bian4":'彼岸式·Ⅳ',
- "zioy_bian4_info":'限定技,回合开始阶段,你可以与一名角色议事,若结果为:红色,你与其各摸两张牌;黑色:你与其各展示并使用牌堆顶的4张牌;失败:你与其各失去1点体力。',
+ "zioy_bian4_info":'限定技,回合开始阶段,你可以与一名角色议事,若结果为:红色,你与其各摸2张牌;黑色:你与其各展示并使用牌堆顶的4张牌;失败:你与其各失去2点体力。',
"zioy_gui":'归',
- "zioy_gui_info":'①当你发动“彼岸式”时,你立即记录你当前手牌,体力,体力上限,护甲,“彼岸式”已发动状态。
②锁定技。一名角色的回合结束时,若你:1.体力值不为场上唯一最多;2.手牌中花色数不为场上唯一最多;3.此技能①效果有记录内容,则你可以将你的手牌,体力,体力上限,护甲,“彼岸式”已发动状态调整至此技能①效果的最早记录相同并删除此次记录。',
+ "zioy_gui_info":'①当你发动“彼岸式”时,你立即记录你当前手牌,体力,体力上限,“彼岸式”已发动状态。
②锁定技。一名角色的回合结束时,若你:1.体力值不为场上唯一最多;2.手牌中花色数不为场上唯一最多;3.此技能①效果有记录内容,则你可以将你的手牌,体力,体力上限,“彼岸式”已发动状态调整至此技能①效果的最早记录相同并删除此次记录。',
"zioy_junling":'君临',
"zioy_junling_info":'隐匿技,锁定技。当你登场时,若当前回合角色不为你则终止一切结算,当前回合结束。然后你增加3点体力上限,摸3张牌;其他角色增加2点体力上限,回复2点体力,摸4张牌,并将武将牌翻至背面朝上。',
"zioy_junming":'君命',
@@ -10522,6 +10751,10 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true;
"zioy_junnu_info":'当你即将受到/造成伤害时,你可以展示你的所有手牌,若其中红色牌数量不小于黑色牌,你令此伤害+1且造成伤害的角色弃置等同于你手牌数的牌(不足则全弃);若其中黑色牌数量不小于红色牌,你令此伤害+1且受到伤害的角色弃置等同于你手牌数的牌(不足则全弃)。',
"zioy_junyun":'君陨',
"zioy_junyun_info":'限定技。当你即将死亡时,你可以对任意名角色造成至多共X点无属性伤害。(X为你已损失体力/2且向下取整)',
+ "zioy_zhaocai":"招财",
+ "zioy_zhaocai_info":"摸牌阶段开始时,你可选择一名角色,你令其将手牌摸至X张,若该角色不为你,你摸等量的牌。以此法获得的牌不计入手牌上限。你可将你以此法获得的牌当作任意基本牌使用或打出。(X为其体力上限)",
+ "zioy_jinbao":"进宝",
+ "zioy_jinbao_info":"出牌阶段限1次,你可以与一名角色拼点,若你赢,你令一名角色获得基本牌,锦囊牌,装备牌各一张。若你没赢,你可令该角色获得你手牌区,装备区的牌各一张。你可将本次拼点双方的牌交给一名手牌数不多于你的角色。",
}
},
intro: "??????????????????????????
拒绝规范描述",
diff --git a/zioy_guanyu_cai.jpg b/zioy_guanyu_cai.jpg
new file mode 100644
index 0000000..b4e7197
Binary files /dev/null and b/zioy_guanyu_cai.jpg differ