From 61451bdfb2cc70277907aacd1775c1a6b031febf Mon Sep 17 00:00:00 2001 From: Baisebaoma Date: Mon, 11 Dec 2023 22:20:18 +0800 Subject: [PATCH] Description improved --- README.md | 44 +++-- jianyu.lua | 464 ++++++++++++++++++++++++++--------------------------- 2 files changed, 262 insertions(+), 246 deletions(-) diff --git a/README.md b/README.md index 46fcaff..fd3ac5d 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,26 @@ [新月杀(FreeKill)](https://gitee.com/notify-ctrl/FreeKill)是一款开源、支持自定义的三国杀联机软件。 -本仓库是新月杀的一个扩展包,其中包含我和我的好朋友们的原创武将!之所以叫作简浴包,是因为我们曾经踢足球时自称“简浴队”。所有设计均由我 [@baisebaoma](https://gitee.com/baisebaoma) 实现。 +本仓库是新月杀的一个扩展包,其中包含我和我的好朋友们的原创武将!之所以叫作简浴包,是因为我们曾经踢足球时自称“监狱队”,而本包的第一个武将是简自豪,故名。所有设计均由我 [@baisebaoma](https://gitee.com/baisebaoma) 实现。 我们的关注点有:足球、英雄联盟等。 本包会保留所有群友设计的原始武将,仅作出文本描述和游戏体验方面的优化(例如,假如你的五个技能全是回合开始可以发动的,那我肯定是要改的)。如果根据以后的游玩体验,这些武将中有不够平衡、不够合理的设计,我会推出优化过后的版本,如界限突破等。 +本包已上线新月杀活动服!庆祝!🎉 + +## 想游玩我们的武将? + +1. 本包已上线新月杀活动服:`huosan.top`,欢迎试用! + +2. 如果您有自己的新月杀服务器,请输入 `install https://gitee.com/baisebaoma/jianyu` 添加本包即可。 + +注意:本包需要您的服务器上开启了[神话再临](https://gitee.com/notify-ctrl/shzl)包才可游玩,否则会出现问题。 + ## 已实现武将 +> 注:文本仅供参考,请以游戏内描述为准! + ### 群·简自豪 体力3 ![群·简自豪](./image/generals/avatar/xjb__jianzihao.jpg "群·简自豪") @@ -88,7 +100,6 @@ 二段:锁定技,当你的角色牌上有且仅有两张【啸】时,你选择:弃掉所有【啸】并恢复一点体力,或将所有【啸】纳入手牌。 - ### 群·高天亮 体力4 ![群·高天亮](./image/generals/avatar/xjb__gaotianliang.jpg "群·高天亮") @@ -97,6 +108,13 @@ 玉玉:锁定技,当你被没有【高天亮之敌】标记的角色使用【杀】造成了伤害时,你令其获得【高天亮之敌】标记。受到没有【高天亮之敌】标记的角色或因本次伤害而获得【高天亮之敌】标记的角色造成的伤害时,你可以摸三张牌,然后翻面。 +### 群·侯国玉 体力5 体力上限10 + +![群·侯国玉](./image/generals/avatar/tym__houguoyu.jpg "群·侯国玉") + +三件:锁定技,当你的装备区有且仅有武器和进攻马时,你造成的伤害+1。 + +闭月:你的回合结束时,你可以摸一张牌。 ### 群·赵乾熙 体力3 @@ -106,7 +124,10 @@ 原神:锁定技,你造成的属性伤害+1。 -> 特别提示:当你对被横置的角色造成属性伤害时,所有其他被横置的角色会受到的伤害+2。这是因为【铁锁连环】的效果是将你对主目标的伤害值记录,然后令你对其他所有被横置的角色也造成一次这个值的伤害。结算过程如下:你对主目标触发了【原神】,伤害+1,记录该值,然后你再对所有其他被连环的角色造成一次该值的属性伤害,再次触发【原神】,伤害+1。为了平衡这个问题,他虽然体力值仅为3,但是只有一个技能。 +> 特别提示:当你对被横置的角色造成属性伤害时,所有其他被横置的角色会受到的伤害+2。 +这是因为【铁锁连环】的效果是将你对主目标的伤害值记录,然后令你对其他所有被横置的角色也造成一次这个值的伤害。 + +> 特别提示:当你是双将且另一个武将是界赵乾熙、你发动了【附魔】造成属性伤害时,不会触发这个技能(因为这两个技能是在同一个时机修改伤害参数)。我觉得这还挺平衡的。 ### 群·界赵乾熙 体力4 @@ -116,10 +137,10 @@ > 新月杀群群友“小嘤嘤”帮助我写了下面这一版描述,感谢! -原神:锁定技,当有角色受到火焰雷电伤害时,若其:1. 没有标记,令其获得对应属性标记; - 2. 拥有标记且与此次伤害属性不同,则移除此标记并执行对应效果:【雷电】其翻面;【火焰】伤害+1。 +原神:锁定技,当有角色受到火焰雷电伤害时,若其没有该技能造成的属性标记,令其获得对应属性标记; + 若其拥有属性标记且与此次伤害属性不同,则依据伤害属性造成对应效果并移除标记:雷电伤害其翻面;火焰伤害该伤害+1。 -附魔:当有角色使用【杀】造成无属性伤害时, +附魔:当有角色造成无属性伤害时, 你可以弃一张牌。若你弃的牌为: 红色,将此次伤害改为火焰; 黑色,改为雷电。 @@ -137,17 +158,12 @@ 跳水:当你受到伤害时,你可以弃掉一张【点】。 罗*:当你的所有【点】花色均不同时,可以视为使用一张【**入侵】,每回合限一次;当你的【点】有4张时,可以视为使用一张【万箭齐发】。 -
已知问题:如果你的【点】有且仅有四张且花色都不同, - 那么【**入侵】【万箭齐发】只能触发一个。这个问题将在后续修复。 + +> 已知问题:如果你的【点】有且仅有四张且花色都不同, + 那么【南蛮入侵】【万箭齐发】只能触发一个。这个问题将在后续修复。 玉玊:出牌阶段,你每使用第二张基本牌时,可以将其作为【点】置于你的武将牌上。 -## 想游玩我们的武将? - -开启您的新月杀服务器,并输入 `install https://gitee.com/baisebaoma/jianyu` 添加本包即可。我们推荐使用 Gitee 链接。 - -注意:本包需要您的服务器上开启了[神话再临](https://gitee.com/notify-ctrl/shzl)包才可游玩,否则会出现问题。 - ## 发现了 bug? 请提交 PR 或 Issue,或发送电子邮件至 [baisebaoma@foxmail.com](mailto:baisebaoma@foxmail.com)。感谢! diff --git a/jianyu.lua b/jianyu.lua index 25851f2..1b20a6f 100644 --- a/jianyu.lua +++ b/jianyu.lua @@ -3,11 +3,9 @@ extension.extensionName = "jianyu" Fk:loadTranslationTable { ["jy_jianyu"] = "简浴", - ["god"] = "神话再临·神", - ["xjb"] = "导演设计", - ["tym"] = "反赌专家设计", - ["skl"] = "拂却心尘设计", - ["buffed"] = "加强", + ["xjb"] = "导演", + ["tym"] = "反赌专家", + ["skl"] = "拂却心尘", } -- 熊简自豪 @@ -664,260 +662,262 @@ Fk:loadTranslationTable { } -- 唐李元浩 --- 建议删除,太强了 --- local tym__liyuanhao = General(extension, "tym__liyuanhao", "qun", 3, 3, General.Male) +-- 建议删除,太强了。但是在活动服环境里,也许没那么强? +local tym__liyuanhao = General(extension, "tym__liyuanhao", "qun", 3, 3, General.Male) -- 界虎啸 -- 参考自铁骑,屯田,脑洞包明哲,克己(原来克己已经监视了使用和打出了,不用写那么复杂) --- local jy_huxiao_2 = fk.CreateTriggerSkill{ --- name = "jy_huxiao_2", --- anim_type = "special", --- events = {fk.CardResponding, fk.TargetSpecified}, -- 包括了使用和打出 --- -- frequency = Skill.Compulsory, --- can_trigger = function(self, event, target, player, data) --- if player:hasSkill(self) and data.card.trueName == "slash" then --- -- 使用是TS,打出是CR --- if event == fk.TargetSpecified or event == fk.CardResponding then --- return target == player --- end --- end --- end, --- on_use = function(self, event, target, player, data) --- local room = player.room --- local dummy = Fk:cloneCard("dilu") --- dummy:addSubcards(room:getNCards(1)) --- player:addToPile("tym__liyuanhao_xiao", dummy, true, self.name) --- end, --- } +local jy_huxiao_2 = fk.CreateTriggerSkill{ + name = "jy_huxiao_2", + anim_type = "special", + events = {fk.CardResponding, fk.TargetSpecified}, -- 包括了使用和打出 + -- frequency = Skill.Compulsory, + can_trigger = function(self, event, target, player, data) + if player:hasSkill(self) and data.card.trueName == "slash" then + -- 使用是TS,打出是CR + if event == fk.TargetSpecified or event == fk.CardResponding then + return target == player + end + end + end, + on_use = function(self, event, target, player, data) + local room = player.room + local dummy = Fk:cloneCard("dilu") + dummy:addSubcards(room:getNCards(1)) + player:addToPile("tym__liyuanhao_xiao", dummy, true, self.name) + end, +} --- -- 界啸酒 --- -- 注释里是为了测试改成无中生有。保留在这里以防你后面还需要测试。 --- local jy_huxiao_analeptic_2 = fk.CreateViewAsSkill{ --- name = "jy_huxiao_analeptic_2", --- anim_type = "defensive", --- pattern = "analeptic", --- -- pattern = "ex_nihilo", --- expand_pile = "tym__liyuanhao_xiao", --- card_filter = function(self, to_select, selected) --- if #selected == 1 then return false end --- local xiaos = Self:getPile("tym__liyuanhao_xiao") --- if #xiaos == 0 then return false end --- return Self:getPileNameOfId(to_select) == "tym__liyuanhao_xiao" --- end, --- view_as = function(self, cards) --- if #cards ~= 1 then --- return nil --- end --- local c = Fk:cloneCard("analeptic") --- -- local c = Fk:cloneCard("ex_nihilo") --- c.skillName = self.name --- -- print("克隆的牌c的参数:c.name ", c.name, " c.trueName ", c.trueName) --- c:addSubcard(cards[1]) --- return c --- end, --- } +-- 界啸酒 +-- 注释里是为了测试改成无中生有。保留在这里以防你后面还需要测试。 +local jy_huxiao_analeptic_2 = fk.CreateViewAsSkill{ + name = "jy_huxiao_analeptic_2", + anim_type = "defensive", + pattern = "analeptic", + -- pattern = "ex_nihilo", + expand_pile = "tym__liyuanhao_xiao", + card_filter = function(self, to_select, selected) + if #selected == 1 then return false end + local xiaos = Self:getPile("tym__liyuanhao_xiao") + if #xiaos == 0 then return false end + return Self:getPileNameOfId(to_select) == "tym__liyuanhao_xiao" + end, + view_as = function(self, cards) + if #cards ~= 1 then + return nil + end + local c = Fk:cloneCard("analeptic") + -- local c = Fk:cloneCard("ex_nihilo") + c.skillName = self.name + -- print("克隆的牌c的参数:c.name ", c.name, " c.trueName ", c.trueName) + c:addSubcard(cards[1]) + return c + end, +} --- -- 界啸闪 --- local jy_huxiao_jink_2 = fk.CreateViewAsSkill{ --- name = "jy_huxiao_jink_2", --- anim_type = "defensive", --- pattern = "jink", --- expand_pile = "tym__liyuanhao_xiao", --- card_filter = function(self, to_select, selected) --- if #selected == 1 then return false end --- local xiaos = Self:getPile("tym__liyuanhao_xiao") --- if #xiaos == 0 then return false end --- return Self:getPileNameOfId(to_select) == "tym__liyuanhao_xiao" --- end, --- view_as = function(self, cards) --- if #cards ~= 1 then --- return nil --- end --- local c = Fk:cloneCard("jink") --- c.skillName = self.name --- c:addSubcard(cards[1]) --- return c --- end, --- } +-- 界啸闪 +local jy_huxiao_jink_2 = fk.CreateViewAsSkill{ + name = "jy_huxiao_jink_2", + anim_type = "defensive", + pattern = "jink", + expand_pile = "tym__liyuanhao_xiao", + card_filter = function(self, to_select, selected) + if #selected == 1 then return false end + local xiaos = Self:getPile("tym__liyuanhao_xiao") + if #xiaos == 0 then return false end + return Self:getPileNameOfId(to_select) == "tym__liyuanhao_xiao" + end, + view_as = function(self, cards) + if #cards ~= 1 then + return nil + end + local c = Fk:cloneCard("jink") + c.skillName = self.name + c:addSubcard(cards[1]) + return c + end, +} --- -- 界二段 --- -- 这里的jy_erduanxiao_2全部都是抄上面普通李元浩的,因为只有数值差异。如果上面的改了,这里也得改 --- local jy_erduanxiao_2 = fk.CreateTriggerSkill{ --- name = "jy_erduanxiao_2", --- anim_type = "support", --- events = {fk.BeforeCardsMove}, -- 理论上来说每次牌的移动只有同一个方向的 --- -- frequency = Skill.Compulsory, --- mute = true, +-- 界二段 +-- 这里的jy_erduanxiao_2全部都是抄上面普通李元浩的,因为只有数值差异。如果上面的改了,这里也得改 +local jy_erduanxiao_2 = fk.CreateTriggerSkill{ + name = "jy_erduanxiao_2", + anim_type = "support", + events = {fk.BeforeCardsMove}, -- 理论上来说每次牌的移动只有同一个方向的 + -- frequency = Skill.Compulsory, + mute = true, --- -- 测试通过。1-2,3-2都可以顺利触发。 --- -- 我猜想原因是1-2的时候可能有多张牌进出,而3-2的时候只会有一张牌出去。但我搞不懂这个数据结构, --- -- 不知道为什么有一个是两层循环,有一个是一层循环。 --- can_trigger = function(self, event, target, player, data) --- if not player:hasSkill(self) then return end -- 如果我自己没有这个技能,那就算了 + -- 测试通过。1-2,3-2都可以顺利触发。 + -- 我猜想原因是1-2的时候可能有多张牌进出,而3-2的时候只会有一张牌出去。但我搞不懂这个数据结构, + -- 不知道为什么有一个是两层循环,有一个是一层循环。 + can_trigger = function(self, event, target, player, data) + if not player:hasSkill(self) then return end -- 如果我自己没有这个技能,那就算了 --- local xiaos = player:getPile("tym__liyuanhao_xiao") --- player.is_xiao_changing = false + local xiaos = player:getPile("tym__liyuanhao_xiao") + player.is_xiao_changing = false --- -- 判断是否有牌出去 --- for _, move in ipairs(data) do -- 第一层循环,不知道为啥 --- if move.from then -- 照着抄的,牌离开 --- -- print("有牌正打算离开") --- if move.from == player.id then --- -- print("有牌正打算从你家离开") --- if #xiaos == 3 then --- -- print("啸是3") --- for _, info in ipairs(move.moveInfo) do -- 还有第二层循环。我自己的代码里没有第二层 --- if info.fromArea == Card.PlayerSpecial then --- -- print("有牌正打算从你家特殊区离开") --- return true --- end --- end --- end --- end --- end --- end + -- 判断是否有牌出去 + for _, move in ipairs(data) do -- 第一层循环,不知道为啥 + if move.from then -- 照着抄的,牌离开 + -- print("有牌正打算离开") + if move.from == player.id then + -- print("有牌正打算从你家离开") + if #xiaos == 3 then + -- print("啸是3") + for _, info in ipairs(move.moveInfo) do -- 还有第二层循环。我自己的代码里没有第二层 + if info.fromArea == Card.PlayerSpecial then + -- print("有牌正打算从你家特殊区离开") + return true + end + end + end + end + end + end --- -- 判断是否有牌进来 --- if #xiaos == 1 then -- 如果啸是1 --- for _, move in ipairs(data) do -- 如果有一张牌是进入或者离开我的特殊区,那么这个函数可以触发 --- if (move.to == player.id and move.toArea == Card.PlayerSpecial) or --- (move.from == player.id and move.fromArea == Card.PlayerSpecial) then --- -- 去找一段代码,检测自己特殊区的牌离开的 --- -- print("二段笑(一段)已经检测有牌从特殊区变动", #xiaos) --- -- 检测不到离开 --- -- if move.to == player.id and move.toArea == Card.PlayerSpecial then --- -- print("二段笑(一段)已经检测有牌来到特殊区", #xiaos) --- -- end --- return true --- end --- end --- end --- end, -- 每个参数的结尾都要逗号。can_trigger是一个参数 + -- 判断是否有牌进来 + if #xiaos == 1 then -- 如果啸是1 + for _, move in ipairs(data) do -- 如果有一张牌是进入或者离开我的特殊区,那么这个函数可以触发 + if (move.to == player.id and move.toArea == Card.PlayerSpecial) or + (move.from == player.id and move.fromArea == Card.PlayerSpecial) then + -- 去找一段代码,检测自己特殊区的牌离开的 + -- print("二段笑(一段)已经检测有牌从特殊区变动", #xiaos) + -- 检测不到离开 + -- if move.to == player.id and move.toArea == Card.PlayerSpecial then + -- print("二段笑(一段)已经检测有牌来到特殊区", #xiaos) + -- end + return true + end + end + end + end, -- 每个参数的结尾都要逗号。can_trigger是一个参数 --- on_trigger = function(self, event, target, player, data) --- -- 触发之后,设置变量,告诉下一个函数有没有可能在发生变化 --- player.is_xiao_changing = true --- -- print("二段笑(第一段) on_trigger已触发,现在是", player.is_xiao_changing, #player:getPile("tym__liyuanhao_xiao")) --- end, --- } + on_trigger = function(self, event, target, player, data) + -- 触发之后,设置变量,告诉下一个函数有没有可能在发生变化 + player.is_xiao_changing = true + -- print("二段笑(第一段) on_trigger已触发,现在是", player.is_xiao_changing, #player:getPile("tym__liyuanhao_xiao")) + end, +} --- local jy_erduanxiao_trigger_2 = fk.CreateTriggerSkill{ --- name = "#jy_erduanxiao_trigger_2", --- events = {fk.AfterCardsMove}, --- frequency = Skill.Compulsory, --- can_trigger = function(self, event, target, player, data) --- return player:hasSkill(self) and -- 如果是有二段啸的角色 --- #player:getPile("tym__liyuanhao_xiao") == 2 and -- 如果啸为2 --- player.is_xiao_changing -- 如果啸有可能在变化 --- end, +local jy_erduanxiao_trigger_2 = fk.CreateTriggerSkill{ + name = "#jy_erduanxiao_trigger_2", + events = {fk.AfterCardsMove}, + frequency = Skill.Compulsory, + can_trigger = function(self, event, target, player, data) + return player:hasSkill(self) and -- 如果是有二段啸的角色 + #player:getPile("tym__liyuanhao_xiao") == 2 and -- 如果啸为2 + player.is_xiao_changing -- 如果啸有可能在变化 + end, --- on_cost = function(self, event, target, player, data) --- -- print("jy_erduanxiao_trigger 已触发,现在player.is_xiao_changing的值是", player.is_xiao_changing) --- local room = player.room --- -- 如果体力不是满的,两个选项都有;如果是满的,就黑掉【恢复体力】那个按钮。这个改动不需要改到标李元浩那边去,因为标李元浩是掉血。 --- if player.hp ~= player.maxHp then --- self.choice = room:askForChoice(player, {"#lose_xiao_2", "#lose_hp_1_2"}, self.name) --- else --- self.choice = room:askForChoice(player, {"#lose_xiao_2"}, self.name, nil, nil, {"#lose_xiao_2", "#lose_hp_1_2"}) --- end --- return true --- end, + on_cost = function(self, event, target, player, data) + -- print("jy_erduanxiao_trigger 已触发,现在player.is_xiao_changing的值是", player.is_xiao_changing) + local room = player.room + -- 如果体力不是满的,两个选项都有;如果是满的,就黑掉【恢复体力】那个按钮。这个改动不需要改到标李元浩那边去,因为标李元浩是掉血。 + if player.hp ~= player.maxHp then + self.choice = room:askForChoice(player, {"#lose_xiao_2", "#lose_hp_1_2"}, self.name) + else + self.choice = room:askForChoice(player, {"#lose_xiao_2"}, self.name, nil, nil, {"#lose_xiao_2", "#lose_hp_1_2"}) + end + return true + end, --- on_use = function(self, event, target, player, data) --- local xiaos = player:getPile("tym__liyuanhao_xiao") --- if self.choice == "#lose_xiao_2" then --- -- 将所有【啸】纳入自己的手牌 --- player.room:moveCardTo(xiaos, Card.PlayerHand, player, fk.ReasonJustMove, self.name, "tym__liyuanhao_xiao", true, player.id) --- elseif self.choice == "#lose_hp_1_2" then --- -- 弃掉所有【啸】 --- player.room:throwCard(xiaos, self.name, player, player) -- 把啸全部扔掉 --- -- 回复1点体力 --- player.room:recover({ --- who = player, --- num = 1, --- recoverBy = player, --- skillName = self.name, --- }) --- end --- end, --- } --- jy_erduanxiao_2:addRelatedSkill(jy_erduanxiao_trigger_2) + on_use = function(self, event, target, player, data) + local xiaos = player:getPile("tym__liyuanhao_xiao") + if self.choice == "#lose_xiao_2" then + -- 将所有【啸】纳入自己的手牌 + player.room:moveCardTo(xiaos, Card.PlayerHand, player, fk.ReasonJustMove, self.name, "tym__liyuanhao_xiao", true, player.id) + elseif self.choice == "#lose_hp_1_2" then + -- 弃掉所有【啸】 + player.room:throwCard(xiaos, self.name, player, player) -- 把啸全部扔掉 + -- 回复1点体力 + player.room:recover({ + who = player, + num = 1, + recoverBy = player, + skillName = self.name, + }) + end + end, +} +jy_erduanxiao_2:addRelatedSkill(jy_erduanxiao_trigger_2) --- -- 界三件 已完成 测试通过 --- local jy_husanjian_2 = fk.CreateTriggerSkill{ --- name = "jy_husanjian_2", --- frequency = Skill.Compulsory, --- anim_type = "offensive", --- events = {fk.DamageCaused}, --- can_trigger = function(self, event, target, player, data) --- if not (target == player and player:hasSkill(self)) then return false end --- -- 现在 target 已经是 player,并且 player 拥有这个技能了。这个时候再来看他的装备区 --- local weapon = Fk:getCardById(player:getEquipment(Card.SubtypeWeapon)) --- local armor = Fk:getCardById(player:getEquipment(Card.SubtypeArmor)) --- local defensive_ride = Fk:getCardById(player:getEquipment(Card.SubtypeDefensiveRide)) --- local offensive_ride = Fk:getCardById(player:getEquipment(Card.SubtypeOffensiveRide)) --- local treasure = Fk:getCardById(player:getEquipment(Card.Treasure)) --- return weapon and --- not armor and --- not defensive_ride and --- offensive_ride and --- not treasure --- -- 有且只有武器和-1马 --- end, --- on_use = function(self, event, target, player, data) --- local room = player.room --- player:broadcastSkillInvoke(self.name) --- room:notifySkillInvoked(player, self.name, "offensive") --- data.damage = data.damage + 1 --- end, --- } +-- 界三件 已完成 测试通过 +local jy_husanjian_2 = fk.CreateTriggerSkill{ + name = "jy_husanjian_2", + frequency = Skill.Compulsory, + anim_type = "offensive", + events = {fk.DamageCaused}, + can_trigger = function(self, event, target, player, data) + if not (target == player and player:hasSkill(self)) then return false end + -- 现在 target 已经是 player,并且 player 拥有这个技能了。这个时候再来看他的装备区 + local weapon = Fk:getCardById(player:getEquipment(Card.SubtypeWeapon)) + local armor = Fk:getCardById(player:getEquipment(Card.SubtypeArmor)) + local defensive_ride = Fk:getCardById(player:getEquipment(Card.SubtypeDefensiveRide)) + local offensive_ride = Fk:getCardById(player:getEquipment(Card.SubtypeOffensiveRide)) + local treasure = Fk:getCardById(player:getEquipment(Card.Treasure)) + return weapon and + not armor and + not defensive_ride and + offensive_ride and + not treasure + -- 有且只有武器和-1马 + end, + on_use = function(self, event, target, player, data) + local room = player.room + player:broadcastSkillInvoke(self.name) + room:notifySkillInvoked(player, self.name, "offensive") + data.damage = data.damage + 1 + end, +} -- TODO: 加一个触发效果器 -- 因为是两个不同的角色,两个角色的特殊区是不能通用的,所以必须分开写代码。 --- tym__liyuanhao:addSkill(jy_huxiao_2) --- tym__liyuanhao:addSkill(jy_huxiao_analeptic_2) --- tym__liyuanhao:addSkill(jy_huxiao_jink_2) --- tym__liyuanhao:addSkill(jy_erduanxiao_2) +tym__liyuanhao:addSkill(jy_huxiao_2) +tym__liyuanhao:addSkill(jy_huxiao_analeptic_2) +tym__liyuanhao:addSkill(jy_huxiao_jink_2) +tym__liyuanhao:addSkill(jy_erduanxiao_2) +-- tym__liyuanhao:addSkill(jy_husanjian_2) --- Fk:loadTranslationTable { --- ["tym__liyuanhao"] = "界李元浩", --- ["tym__liyuanhao_xiao"] = "", +Fk:loadTranslationTable { + ["tym__liyuanhao"] = "界李元浩", + ["tym__liyuanhao_xiao"] = "", --- ["jy_huxiao_2"] = "虎啸", --- [":jy_huxiao_2"] = [[当你使用或打出一张【杀】时,你可以将牌堆顶的一张牌置于你的角色牌上,称为【啸】。 ---
“我希望我的后辈们能够记住,在你踏上职业道路的这一刻开始,你的目标就只有,冠军。”——李元浩]], + ["jy_huxiao_2"] = "虎啸", + [":jy_huxiao_2"] = [[当你使用或打出一张【杀】时,你可以将牌堆顶的一张牌置于你的角色牌上,称为【啸】。 +
“我希望我的后辈们能够记住,在你踏上职业道路的这一刻开始,你的目标就只有,冠军。”——李元浩]], --- ["jy_huxiao_analeptic_2"] = "横刀", --- [":jy_huxiao_analeptic_2"] = [[你可以将【啸】当作【酒】使用或打出。 ---
“谁敢横刀立马……”——钱晨]], + ["jy_huxiao_analeptic_2"] = "横刀", + [":jy_huxiao_analeptic_2"] = [[你可以将【啸】当作【酒】使用或打出。 +
“谁敢横刀立马……”——钱晨]], --- ["jy_huxiao_jink_2"] = "立马", --- [":jy_huxiao_jink_2"] = [[你可以将【啸】当作【闪】使用或打出。 ---
“……唯我虎大将军!”——钱晨]], + ["jy_huxiao_jink_2"] = "立马", + [":jy_huxiao_jink_2"] = [[你可以将【啸】当作【闪】使用或打出。 +
“……唯我虎大将军!”——钱晨]], --- ["jy_erduanxiao_2"] = "二段", --- [":jy_erduanxiao_2"] = "锁定技,当你的角色牌上有且仅有两张【啸】时,你选择:弃掉所有【啸】并恢复一点体力,或将所有【啸】纳入手牌。", --- ["#jy_erduanxiao_trigger_2"] = "二段", --- ["#lose_xiao_2"] = "将所有【啸】纳入手牌", --- ["#lose_hp_1_2"] = "弃掉所有【啸】并恢复一点体力", --- } + ["jy_erduanxiao_2"] = "二段", + [":jy_erduanxiao_2"] = "锁定技,当你的角色牌上有且仅有两张【啸】时,你选择:弃掉所有【啸】并恢复一点体力,或将所有【啸】纳入手牌。", + ["#jy_erduanxiao_trigger_2"] = "二段", + ["#lose_xiao_2"] = "将所有【啸】纳入手牌", + ["#lose_hp_1_2"] = "弃掉所有【啸】并恢复一点体力", +} --- -- -- 侯国玉 --- local tym__houguoyu = General(extension, "tym__houguoyu", "qun", 5, 5, General.Male) +-- -- 侯国玉 +local tym__houguoyu = General(extension, "tym__houguoyu", "qun", 5, 10, General.Male) --- tym__houguoyu:addSkill(jy_husanjian_2) --- -- tym__houguoyu:addSkill("biyue") +tym__houguoyu:addSkill(jy_husanjian_2) +tym__houguoyu:addSkill("biyue") --- Fk:loadTranslationTable { --- ["tym__houguoyu"] = "侯国玉", --- ["houguoyu"] = "侯国玉", +Fk:loadTranslationTable { + ["tym__houguoyu"] = "侯国玉", + ["houguoyu"] = "侯国玉", --- ["jy_husanjian_2"] = "三件", --- [":jy_husanjian_2"] = [[锁定技,当你的装备区有且仅有武器和进攻马时,你造成的伤害+1。 ---
虎三件,有时也可以指【卢登的激荡】、【虚空之杖】和【灭世者的死亡之帽】。]], --- } + ["jy_husanjian_2"] = "三件", + [":jy_husanjian_2"] = [[锁定技,当你的装备区有且仅有武器和进攻马时,你造成的伤害+1。]], +} + +--
虎三件,有时也可以指【卢登的激荡】、【虚空之杖】和【灭世者的死亡之帽】。 -- 高天亮 @@ -1030,7 +1030,7 @@ Fk:loadTranslationTable { ["jy_yuanshen"] = "原神", [":jy_yuanshen"] = [[锁定技,你造成的属性伤害+1。 -

特别提示:当你对被横置的角色造成属性伤害时,所有其他被横置的角色会受到的伤害+2。 +
特别提示:当你对被横置的角色造成属性伤害时,所有其他被横置的角色会受到的伤害+2。 这是因为【铁锁连环】的效果是将你对主目标的伤害值记录,然后令你对其他所有被横置的角色也造成一次这个值的伤害。

特别提示:当你是双将且另一个武将是界赵乾熙、你发动了【附魔】造成属性伤害时,不会触发这个技能(因为这两个技能是在同一个时机修改伤害参数)。我觉得这还挺平衡的。
]], @@ -1406,7 +1406,7 @@ Fk:loadTranslationTable { ["jy_luojiao"] = "罗绞", [":jy_luojiao"] = [[当你的所有【点】花色均不同时(只有1张【点】也可以),可以视为使用一张【南蛮入侵】,每回合限一次; 当你的【点】有4张时,可以视为使用一张【万箭齐发】。 -

已知问题:如果你的【点】有且仅有四张且花色都不同, +
已知问题:如果你的【点】有且仅有四张且花色都不同, 那么【南蛮入侵】【万箭齐发】只能触发一个。这个问题将在后续修复。]], ["#jy_luojiao_archery_attack"] = "罗绞·万箭齐发", ["#jy_luojiao_savage_assault"] = "罗绞·南蛮入侵",