diff --git a/extension.js b/extension.js index 6dc2074..2b2362b 100644 --- a/extension.js +++ b/extension.js @@ -77,7 +77,8 @@ game.import("extension", function (lib, game, ui, get, ai, _status) { zioy_hezhe: ["male", "qun", 4, ["zioy_yuekong", "zioy_tanxi", "zioy_gengyi"]], zioy_fanbunusi: ["none", "wei", 4, ['zioy_youxia', 'zioy_changai']], zioy_fukeleide: ["male", "qun", "4/5/1", ['zioy_ji_jiyue', 'zioy_ji_jidian']], - zioy_kongwu: ["male", "qun", "0/0/0", ['zioy_kong', 'zioy_wu']], + zioy_kongwu: ["male", "qun", "0/0", ['zioy_kong', 'zioy_wu']], + zioy_buluohong: ["male", "shu", "3", ['zioy_chiqi', 'zioy_aici', 'zioy_zongwanqianshenglingshengmie']], }, translate: { "zioy_xixuegui": "弗拉基米尔", @@ -140,6 +141,7 @@ game.import("extension", function (lib, game, ui, get, ai, _status) { zioy_fanbunusi: '罕晡努斯', zioy_fukeleide: '弗克雷德', zioy_kongwu: '空无', + zioy_buluohong: '不落红', } }, card: { @@ -9937,6 +9939,258 @@ if(get.type(card)=='basic' && get.type(card)=='trick') flag= true; }, _priority: 1, }, + zioy_chiqi: { + autoTranslate: { + name: "赤契", + info: `①游戏开始时,你获得X点体力上限并获得1枚“契月”(X为场上每名角色体力上限的最大值)
②当你拥有“契月”时:你攻击范围+X;你造成的伤害+X;你使用牌无次数限制;当你使用的基本牌结算完成后,你收回此牌;造成伤害后,你移去一枚“契月”标记。
③当你不因〖纵万千生灵生灭〗恢复体力时,取消之。` + }, + trigger:{ + global:"phaseBefore", + player:"enterGame", + }, + mod:{ + cardUsable:function (card,player,num){ + if(player.countMark('zioy_chiqi') > 0) + return Infinity; + }, + attackRange:(player,num)=> player.countMark('zioy_chiqi') > 0 ? num + player.countMark('zioy_chiqi') : num, + }, + marktext:'契月', + intro:{ + name:'契月', + mark:() => '' + }, + forced:true, + locked:false, + filter:function(event,player){ + return (event.name!='phase'||game.phaseNumber==0); + }, + async content(event,trigger,player){ + let max = -1 + for(const _player of game.players) { + max = Math.max(_player.maxHp) + } + player.gainMaxHp(max) + player.addMark('zioy_chiqi') + }, + autoSubSkill: { + damageBegin1: { + trigger:{ + source:"damageBegin1", + }, + filter:function(event,player){ + return player.countMark('zioy_chiqi') > 0; + }, + forced:true, + async content(event,trigger,player){ + trigger.num += player.countMark('zioy_chiqi'); + }, + "_priority": 6354564654, + }, + damageEnd: { + trigger:{ + source:"damageEnd", + }, + filter:function(event,player){ + return player.countMark('zioy_chiqi') > 0; + }, + forced:true, + async content(event,trigger,player){ + player.removeMark('zioy_chiqi', 1) + }, + "_priority": 6354564654, + }, + useCardAfter: { + trigger:{ + player:["useCardAfter"], + }, + filter:function(event,player){ + return player.countMark('zioy_chiqi') > 0 && get.type(event.card) === 'basic'; + }, + async content(event,trigger,player){ + player.gain(trigger.cards) + }, + forced:true, + "_priority":485965631, + } + } + }, + zioy_aici: { + autoTranslate: { + name: "哀慈", + info: `①出牌阶段,你可选择任意名未拥有“契月”且座次连续的角色。你令其依次获得等同于其体力上限枚“契月”标记,摸等量的牌,并使其依次获得〖赤月东升〗。
②当拥有“契月”标记的角色即将死亡时,你获得其所有“契月”标记。` + }, + locked: false, + mod:{ + maxHandcardBase:function(player,num){ + return player.hp; + }, + attackRange:(player,num)=>player.hp, + }, + autoSubSkill:{ + selectTarget: { + enable:"phaseUse", + usable:1, + forced: true, + filter(event, player){ + return game.players.filter(t => t.countMark('zioy_chiqi') > 0).length > 0; + }, + filterTarget:function(card,player,target){ + // if(player==target) return false; + if(target.countMark('zioy_chiqi') > 0) return false; + if(ui.selected.targets.length === 0) return true + for(const _t of ui.selected.targets){ + if([_t.getNext(), _t.getPrevious()].includes(target)) { + return true + } + } + return false + }, + selectTarget:[1,Infinity], + async content(event, trigger, player){ + const num = event.num + const t = event.targets[num] + const maxHp = t.maxHp + t.addMark('zioy_chiqi', maxHp) + t.draw(maxHp) + t.addSkill('zioy_chiyuedongsheng') + }, + ai: { + threaten: 1 + }, + _priority: -351651, + }, + die: { + trigger:{ + global:"dieBefore", + }, + forced: true, + filter(event,player){ + return event.player.countMark('zioy_chiqi') > 0; + }, + async content(event,trigger,player){ + const count = trigger.player.countMark('zioy_chiqi'); + trigger.player.removeMark('zioy_chiqi', count) + player.addMark('zioy_chiqi', count) + }, + ai:{ + threaten:1.3, + }, + }, + }, + ai: { + threaten: 1 + }, + _priority: 1, + }, + zioy_chiyuedongsheng: { + autoTranslate: { + name: "赤月东升", + info: `①当你即将恢复体力时,取消之,然后你移去一枚“契月”标记。
②回合开始阶段,你移去一枚“契月”标记。
③当你因此技能失去所有“契月”时,你失去此技能并受到1点无来源伤害。` + }, + locked: false, + mod:{ + maxHandcardBase:function(player,num){ + return player.hp; + }, + attackRange:(player,num)=>player.hp, + }, + autoSubSkill:{ + recover: { + trigger: { + source: 'recoverBefore' + }, + forced: true, + filter(event, player){ + return player.countMark('zioy_chiqi') + }, + async content(event, trigger, player){ + trigger.cancel() + player.removeMark('zioy_chiqi', 1) + if(player.countMark('zioy_chiqi') === 0) { + player.damage() + player.removeSkill('zioy_chiyuedongsheng') + } + }, + ai: { + threaten: 1 + }, + _priority: -351651, + }, + phaseBegin: { + trigger:{ + player:"phaseBegin", + }, + forced: true, + filter(event,player){ + return player.countMark('zioy_chiqi') + }, + async content(event,trigger,player){ + player.removeMark('zioy_chiqi', 1) + if(player.countMark('zioy_chiqi') === 0) { + player.damage() + player.removeSkill('zioy_chiyuedongsheng') + } + }, + ai:{ + threaten:1.3, + }, + }, + }, + ai: { + threaten: 1 + }, + _priority: 1, + }, + zioy_zongwanqianshenglingshengmie: { + autoTranslate: { + name: "纵万千生灵生灭", + info: `限定技。回合开始阶段,你可以弃置你区域内所有牌,然后将其他角色区域内的所有牌移动至你区域内的相应位置,然后你将所有“契月”移动至你的区域内并摸等同于本次移动“契月”数量的牌,然后你移去所有“契月”,恢复等量体力并对所有其他角色造成等同于你当前体力/3的伤害。` + }, + trigger: { + player: 'phaseBegin' + }, + limit: true, + skillAnimation: true, + animationColor: "soil", + async content(event,trigger,player){ + player.awakenSkill('zioy_zongwanqianshenglingshengmie') + player.discard('hej') + for(const target of game.players) { + if(target === player) { + continue + } + for(const card of target.getCards('hej')) { + if (get.position(card) == "e") { + player.equip(card); + } else if (get.position(card) == "j") { + player.addJudge(card); + } else { + player.gain(card); + } + } + const count = target.countMark('zioy_chiqi'); + target.removeMark('zioy_chiqi', count) + player.addMark('zioy_chiqi', count) + player.draw(count) + } + const count = player.countMark('zioy_chiqi'); + player.removeMark('zioy_chiqi', count) + player.recover(count) + for(const target of game.players) { + if(target === player) { + continue + } + target.damage(Math.floor(count / 3)) + } + }, + autoSubSkill:{ + }, + ai: { + threaten: 1 + }, + _priority: 1, + }, }, translate: { "zioy_xixue": "汲血", diff --git a/zioy_buluohong.jpg b/zioy_buluohong.jpg new file mode 100644 index 0000000..2ccdf0d Binary files /dev/null and b/zioy_buluohong.jpg differ