From e5ac2ca56f7438867a959cc5a295647842a58b9c Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 04:03:15 +0000 Subject: [PATCH 01/20] update hegemony_standard.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- hegemony_standard.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hegemony_standard.lua b/hegemony_standard.lua index ee26337..cf081aa 100644 --- a/hegemony_standard.lua +++ b/hegemony_standard.lua @@ -1323,7 +1323,13 @@ local shushen = fk.CreateTriggerSkill{ self.cancel_cost = true end, on_use = function(self, event, target, player, data) - player.room:getPlayerById(self.cost_data):drawCards(1, self.name) + local room = player.room + local to = room:getPlayerById(self.cost_data) + if to:getHandcardNum() > 0 then + to:drawCards(1, self.name) + else + to:drawCards(1, self.name) + end end, } -- Gitee From a9c00640d6320b5439594d1303fc96019c7e4b90 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 04:04:28 +0000 Subject: [PATCH 02/20] update transformation.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- transformation.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/transformation.lua b/transformation.lua index 3910603..a41d22d 100644 --- a/transformation.lua +++ b/transformation.lua @@ -386,7 +386,7 @@ local diaodu = fk.CreateTriggerSkill{ if event == fk.CardUsing then return H.compareKingdomWith(target, player) and data.card.type == Card.TypeEquip and (player:hasShownSkill(self) or player == target) - -- and target:getMark("diaodu_use-turn") == 0 + and target:getMark("diaodu_use-turn") == 0 else return target == player and target.phase == Player.Play and table.find(player.room.alive_players, function(p) return H.compareKingdomWith(p, player) and #p:getCardIds(Player.Equip) > 0 end) @@ -472,8 +472,7 @@ Fk:loadTranslationTable{ ["illustrator:ld__lvfan"] = "铭zmy", ['diaodu'] = '调度', - [':diaodu'] = '①当与你势力相同的角色使用装备牌时,其可摸一张牌。②出牌阶段开始时,你可获得与你势力相同的一名角色装备区里的一张牌,若其:为你,你将此牌交给一名角色;不为你,你可将此牌交给另一名角色。', - -- [':diaodu'] = '①每回合限一次,当与你势力相同的角色使用装备牌时,其可摸一张牌。②出牌阶段开始时,你可获得与你势力相同的一名角色装备区里的一张牌,然后你可将此牌交给另一名角色。', + [':diaodu'] = '①每回合限一次,当与你势力相同的角色使用装备牌时,其可摸一张牌。②出牌阶段开始时,你可获得与你势力相同的一名角色装备区里的一张牌,然后你可将此牌交给另一名角色。', ["diancai"] = "典财", [":diancai"] = "其他角色的出牌阶段结束时,若你于此阶段失去过不少于X张牌(X为你的体力值),则你可将手牌摸至你体力上限,然后你可变更。", -- Gitee From 70631642b6b776000eb8e39f43213ad4bf88a117 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 04:05:02 +0000 Subject: [PATCH 03/20] update formation.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- formation.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/formation.lua b/formation.lua index 6564688..56899e6 100644 --- a/formation.lua +++ b/formation.lua @@ -461,8 +461,7 @@ local yicheng = fk.CreateTriggerSkill{ anim_type = "defensive", events = {fk.TargetConfirmed, fk.TargetSpecified}, can_trigger = function(self, event, target, player, data) - return player:hasSkill(self) and H.compareKingdomWith(target, player) and data.card.trueName == "slash" and H.inFormationRelation(player, target) - and (event == fk.TargetConfirmed or (event == fk.TargetSpecified and data.firstTarget)) + return player:hasSkill(self) and H.compareKingdomWith(target, player) and data.card.trueName == "slash" and (event == fk.TargetConfirmed or (event == fk.TargetSpecified and data.firstTarget)) end, on_cost = function(self, event, target, player, data) return player.room:askForSkillInvoke(player, self.name, nil, "#yicheng-ask::" .. target.id) -- Gitee From bddeca6e19a5eee4f9a8dd8b957768bd0a518175 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 04:10:29 +0000 Subject: [PATCH 04/20] update momentum.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- momentum.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/momentum.lua b/momentum.lua index 120f8ba..a9eb230 100644 --- a/momentum.lua +++ b/momentum.lua @@ -34,8 +34,8 @@ local hengjiang = fk.CreateTriggerSkill{ local target = room.current if target ~= nil and not target.dead then room:doIndicate(player.id, {target.id}) - room:addPlayerMark(target, "@hengjiang-turn", data.damage) - room:addPlayerMark(target, MarkEnum.MinusMaxCardsInTurn, data.damage) + room:addPlayerMark(target, "@hengjiang-turn", math.min(1, #target:getCardIds("e"))) + room:addPlayerMark(target, MarkEnum.MinusMaxCardsInTurn, math.min(1, #target:getCardIds("e"))) end end } @@ -83,7 +83,9 @@ local hengjiangdelay = fk.CreateTriggerSkill{ end, on_cost = Util.TrueFunc, on_use = function(_, _, _, player, _) - player:drawCards(1, hengjiang.name) + if player:getHandCardNum() < player.maxHp then + player:drawCards(player.maxHp - player:getHandCardNum() , hengjiang.name) + end end, } hengjiang:addRelatedSkill(hengjiangdelay) @@ -95,8 +97,8 @@ Fk:loadTranslationTable{ ["illustrator:ld__zangba"] = "HOOO", ["cv:ld__zangba"] = "墨禅", ['hengjiang'] = '横江', - [':hengjiang'] = '当你受到伤害后,你可以令当前回合角色本回合手牌上限-X(X为伤害值)。' .. - '然后若其本回合弃牌阶段内没有弃牌,你摸一张牌。', + [':hengjiang'] = '当你受到伤害后,你可以令当前回合角色本回合手牌上限-X(X为其装备区内牌数且至少为1)。' .. + '然后若其本回合弃牌阶段内没有弃牌,你将手牌摸至体力上限。', ['@hengjiang-turn'] = '横江', ['#hengjiang_delay'] = '横江', -- Gitee From 30975006a0882fe7f15643170be0e1bf8ed36080 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 04:11:40 +0000 Subject: [PATCH 05/20] update formation.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- formation.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/formation.lua b/formation.lua index 56899e6..b814c50 100644 --- a/formation.lua +++ b/formation.lua @@ -485,7 +485,7 @@ Fk:loadTranslationTable{ ["designer:ld__xusheng"] = "淬毒", ["illustrator:ld__xusheng"] = "天信", ["yicheng"] = "疑城", - [":yicheng"] = "当与你处于同一队列的角色使用【杀】指定目标后或成为【杀】的目标后,你可令其摸一张牌,然后其弃置一张牌。", + [":yicheng"] = "当与你势力相同的角色使用【杀】指定目标后或成为【杀】的目标后,你可令其摸一张牌,然后其弃置一张牌。", ["#yicheng-ask"] = "疑城:你可令 %dest 摸一张牌,然后其弃置一张牌", -- Gitee From 48e95473ff2b644c966153defdd985aa272c3796 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:15:27 +0000 Subject: [PATCH 06/20] update util.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- util.lua | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/util.lua b/util.lua index 8aafbc8..5601b20 100644 --- a/util.lua +++ b/util.lua @@ -909,11 +909,26 @@ Fk:loadTranslationTable{ ["#GeneralRemoved"] = "%from 移除了 %arg %arg2", } +local function addHegSkill(player, skill, room) + if skill.frequency == Skill.Compulsory then + player:addFakeSkill("reveal_skill&") + end + player:addFakeSkill(skill) + local toget = {table.unpack(skill.related_skills)} + table.insert(toget, skill) + for _, s in ipairs(toget) do + if s:isInstanceOf(TriggerSkill) then + room.logic:addTriggerSkill(s) + end + end +end + --- 变更武将牌 ---@param room Room ---@param player ServerPlayer ---@param isMain bool @ 是否为主将,默认副将 -H.transformGeneral = function(room, player, isMain) +---@param isHidden bool @ 是否暗置变更 +H.transformGeneral = function(room, player, isMain, isHidden) local orig = isMain and player.general or player.deputyGeneral if not orig then return false end if orig == "anjiang" then @@ -937,7 +952,31 @@ H.transformGeneral = function(room, player, isMain) table.removeOne(generals, general) table.insert(generals, orig) room:returnToGeneralPile(generals) - room:changeHero(player, general, false, not isMain, true, false, false) + if not isHidden then + room:changeHero(player, general, false, not isMain, true, false, false) + else + if isMain then + room:setPlayerGeneral(player, "anjiang", true) + local general = Fk.generals[player:getMark("__heg_general")] + local skills = table.connect(general.skills, table.map(general.other_skills, Util.Name2SkillMapper)) + for _, s in ipairs(skills) do + if s.relate_to_place ~= "d" then + addHegSkill(player, s, room) + end + end + else + room:setDeputyGeneral(player, "anjiang") + local deputy = Fk.generals[player:getMark("__heg_deputy")] + if deputy then + local skills = table.connect(deputy.skills, table.map(deputy.other_skills, Util.Name2SkillMapper)) + for _, s in ipairs(skills) do + if s.relate_to_place ~= "m" then + addHegSkill(player, s, room) + end + end + end + end + end room:setPlayerMark(player, isMain and "__heg_general" or "__heg_deputy", general) room.logic:trigger("fk.GeneralTransformed", player, orig) end -- Gitee From 316fadc95980ae5d3d7eb39e4c80ffa779348360 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:16:05 +0000 Subject: [PATCH 07/20] update lord_ex.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- lord_ex.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lord_ex.lua b/lord_ex.lua index 65a1883..e2d6b76 100644 --- a/lord_ex.lua +++ b/lord_ex.lua @@ -1049,7 +1049,7 @@ Fk:loadTranslationTable{ ["illustrator:ld__huangzu"] = "YanBai", ["ld__xishe"] = "袭射", - [":ld__xishe"] = "其他角色的准备阶段,你可以弃置一张装备区内的牌,视为对其使用一张【杀】(体力值小于你的角色不能响应),然后你可以重复此流程。此回合结束时,若你以此法杀死了一名角色,你可以变更副将。
注:变更副将后暗置的效果尚在施工中。", + [":ld__xishe"] = "其他角色的准备阶段,你可以弃置一张装备区内的牌,视为对其使用一张【杀】(体力值小于你的角色不能响应),然后你可以重复此流程。此回合结束时,若你以此法杀死了一名角色,你可以暗置变更副将。", ["#ld__xishe_noresponse"] = "袭射", ["#ld__xishe"] = "袭射:你可以弃置一张装备区内的牌,视为对 %dest 使用一张【杀】", -- Gitee From 1be3dd02a6a368a2b497eb80628ce202915f5240 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:23:10 +0000 Subject: [PATCH 08/20] update hegemony_standard.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- hegemony_standard.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hegemony_standard.lua b/hegemony_standard.lua index cf081aa..f55ae18 100644 --- a/hegemony_standard.lua +++ b/hegemony_standard.lua @@ -1328,7 +1328,7 @@ local shushen = fk.CreateTriggerSkill{ if to:getHandcardNum() > 0 then to:drawCards(1, self.name) else - to:drawCards(1, self.name) + to:drawCards(2, self.name) end end, } -- Gitee From 8c4c0e5b2cbcea637241c3fbb91c8a9ce807d411 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:34:54 +0000 Subject: [PATCH 09/20] update hegemony_standard.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- hegemony_standard.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hegemony_standard.lua b/hegemony_standard.lua index f55ae18..3772c0f 100644 --- a/hegemony_standard.lua +++ b/hegemony_standard.lua @@ -1325,7 +1325,7 @@ local shushen = fk.CreateTriggerSkill{ on_use = function(self, event, target, player, data) local room = player.room local to = room:getPlayerById(self.cost_data) - if to:getHandcardNum() > 0 then + if not to:isKongcheng() then to:drawCards(1, self.name) else to:drawCards(2, self.name) -- Gitee From 26e945d684fbc85aee0fd8cbb5e8e63453f19954 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:36:22 +0000 Subject: [PATCH 10/20] update hegemony_standard.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- hegemony_standard.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hegemony_standard.lua b/hegemony_standard.lua index 3772c0f..b937f31 100644 --- a/hegemony_standard.lua +++ b/hegemony_standard.lua @@ -1343,7 +1343,7 @@ Fk:loadTranslationTable{ ["designer:hs__ganfuren"] = "淬毒", ["hs__shushen"] = "淑慎", - [":hs__shushen"] = "当你回复1点体力后,你可令一名其他角色摸一张牌。", + [":hs__shushen"] = "当你回复1点体力后,你可令一名其他角色摸一张牌,若其没有手牌,则改为摸两张牌。", ["#hs__shushen-choose"] = "淑慎:你可令一名其他角色摸一张牌", -- Gitee From fa7fcea78598cd4b08471ab22c5577d8ad667673 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:38:05 +0000 Subject: [PATCH 11/20] update lord_ex.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- lord_ex.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lord_ex.lua b/lord_ex.lua index e2d6b76..320473d 100644 --- a/lord_ex.lua +++ b/lord_ex.lua @@ -1034,7 +1034,7 @@ local xishe_delay = fk.CreateTriggerSkill{ room:notifySkillInvoked(player, xishe.name, "special") player:broadcastSkillInvoke(xishe.name) room:setPlayerMark(player, "@@ld__xishe_change_before", 1) - H.transformGeneral(room, player) + H.transformGeneral(room, player, false, true) end end end, -- Gitee From b66f5fd90406db0599a39cfe3f4ea4ab4de133e9 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:55:24 +0000 Subject: [PATCH 12/20] update hegemony_standard.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- hegemony_standard.lua | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/hegemony_standard.lua b/hegemony_standard.lua index b937f31..96d6b99 100644 --- a/hegemony_standard.lua +++ b/hegemony_standard.lua @@ -1672,24 +1672,19 @@ local qianxun = fk.CreateTriggerSkill{ end } -local duoshi = fk.CreateViewAsSkill{ +local duoshi = fk.CreateTriggerSkill{ name = "duoshi", anim_type = "drawcard", - pattern = "await_exhausted", - card_filter = function(self, to_select, selected) - return #selected == 0 and Fk:getCardById(to_select).color == Card.Red and Fk:currentRoom():getCardArea(to_select) == Player.Hand - end, - view_as = function(self, cards) - if #cards ~= 1 then - return nil - end - local c = Fk:cloneCard("await_exhausted") - c.skillName = self.name - c:addSubcard(cards[1]) - return c + events = {fk.EventPhaseStart}, + can_trigger = function(self, event, target, player, data) + local card = Fk:cloneCard("await_exhausted") + return player:hasSkill(self) and player == target and player.phase == Player.Play and not player:prohibitUse(card) end, - enabled_at_play = function(self, player) - return player:usedSkillTimes(self.name, Player.HistoryTurn) < 4 + on_use = function(self, event, target, player, data) + local room = player.room + local targets = table.filter(room.alive_players, function(p) return + H.compareKingdomWith(p, player) end) + room:useVirtualCard("await_exhausted", {}, player, targets, self.name) end, } @@ -1704,11 +1699,12 @@ Fk:loadTranslationTable{ ["hs__qianxun"] = "谦逊", [":hs__qianxun"] = "锁定技,当你成为【顺手牵羊】或【乐不思蜀】的目标时,你取消此目标。", ["duoshi"] = "度势", - [":duoshi"] = "出牌阶段限四次,你可将一张红色手牌当【以逸待劳】使用。", + [":duoshi"] = "出牌阶段开始时,你可以视为使用一张【以逸待劳】。", ["~hs__luxun"] = "还以为我已经不再年轻……", } + local sunshangxiang = General(extension, "hs__sunshangxiang", "wu", 3, 3, General.Female) local xiaoji = fk.CreateTriggerSkill{ -- Gitee From 0da02e9f37e89b54e0ddf6a768d60442fd1e410a Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:57:31 +0000 Subject: [PATCH 13/20] update transformation.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- transformation.lua | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/transformation.lua b/transformation.lua index a41d22d..3bc1a84 100644 --- a/transformation.lua +++ b/transformation.lua @@ -993,24 +993,19 @@ local ld__shelie = fk.CreateTriggerSkill{ end, } -local ld__duoshi = fk.CreateViewAsSkill{ +local ld__duoshi = fk.CreateTriggerSkill{ name = "ld__lordsunquan_duoshi", anim_type = "drawcard", - pattern = "await_exhausted", - card_filter = function(self, to_select, selected) - return #selected == 0 and Fk:getCardById(to_select).color == Card.Red and Fk:currentRoom():getCardArea(to_select) == Player.Hand - end, - view_as = function(self, cards) - if #cards ~= 1 then - return nil - end - local c = Fk:cloneCard("await_exhausted") - c.skillName = self.name - c:addSubcard(cards[1]) - return c + events = {fk.EventPhaseStart}, + can_trigger = function(self, event, target, player, data) + local card = Fk:cloneCard("await_exhausted") + return player:hasSkill(self) and player == target and player.phase == Player.Play and not player:prohibitUse(card) end, - enabled_at_play = function(self, player) - return player:usedSkillTimes(self.name, Player.HistoryTurn) < 4 + on_use = function(self, event, target, player, data) + local room = player.room + local targets = table.filter(room.alive_players, function(p) return + H.compareKingdomWith(p, player) end) + room:useVirtualCard("await_exhausted", {}, player, targets, self.name) end, } @@ -1273,7 +1268,7 @@ Fk:loadTranslationTable{ [":ld__lordsunquan_yingzi"] = "锁定技,摸牌阶段,你多摸一张牌。你的手牌上限为你的体力上限。 ", [":ld__lordsunquan_haoshi"] = "摸牌阶段,你可以多摸两张牌,若如此做,此阶段结束时,若你的手牌数大于5,你将一半的手牌(向下取整)交给一名手牌数最小的其他角色。", [":ld__lordsunquan_shelie"] = "摸牌阶段,你可以改为亮出牌堆顶的五张牌,获得其中每种花色的牌各一张。 ", - [":ld__lordsunquan_duoshi"] = "出牌阶段限四次,你可将一张红色手牌当【以逸待劳】使用。 ", + [":ld__lordsunquan_duoshi"] = "出牌阶段开始时,你可以视为使用一张【以逸待劳】。 ", ["ld__lordsunquan_zhiheng"] = "制衡", [":ld__lordsunquan_zhiheng"] = "出牌阶段限一次,你可以弃置至多X张牌(X为你体力上限),摸等量的牌。", -- Gitee From c060056e622b883764efb95131f2a2bbc242744f Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Sat, 12 Oct 2024 05:59:10 +0000 Subject: [PATCH 14/20] update momentum.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- momentum.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/momentum.lua b/momentum.lua index a9eb230..b7437fb 100644 --- a/momentum.lua +++ b/momentum.lua @@ -83,8 +83,8 @@ local hengjiangdelay = fk.CreateTriggerSkill{ end, on_cost = Util.TrueFunc, on_use = function(_, _, _, player, _) - if player:getHandCardNum() < player.maxHp then - player:drawCards(player.maxHp - player:getHandCardNum() , hengjiang.name) + if player:getHandcardNum() < player.maxHp then + player:drawCards(player.maxHp - player:getHandcardNum() , hengjiang.name) end end, } -- Gitee From 5e72bbd2c9db553b73e1e96a2e0ded60ffa94757 Mon Sep 17 00:00:00 2001 From: s1134s Date: Wed, 16 Oct 2024 10:12:05 +0800 Subject: [PATCH 15/20] fix & add --- audio/death/os_heg__xurong.mp3 | Bin 0 -> 21734 bytes audio/skill/os_heg__xionghuo1.mp3 | Bin 0 -> 14106 bytes audio/skill/os_heg__xionghuo2.mp3 | Bin 0 -> 13688 bytes hegemony_standard.lua | 2 +- image/generals/os_heg__xurong.jpg | Bin 0 -> 15844 bytes lord_ex.lua | 5 +- momentum.lua | 4 +- overseas_heg.lua | 135 ++++++++++++++++++++++++++++++ util.lua | 7 +- 9 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 audio/death/os_heg__xurong.mp3 create mode 100644 audio/skill/os_heg__xionghuo1.mp3 create mode 100644 audio/skill/os_heg__xionghuo2.mp3 create mode 100644 image/generals/os_heg__xurong.jpg diff --git a/audio/death/os_heg__xurong.mp3 b/audio/death/os_heg__xurong.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..af167cd4bbbf677762701f10d8b7cc114cb6da9d GIT binary patch literal 21734 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 B3}gTR literal 0 HcmV?d00001 diff --git a/audio/skill/os_heg__xionghuo1.mp3 b/audio/skill/os_heg__xionghuo1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..091dc6b3542fe65370eb4331b907577f9d64e23a GIT binary patch literal 14106 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 I|8s!;2THtXNB{r; literal 0 HcmV?d00001 diff --git a/audio/skill/os_heg__xionghuo2.mp3 b/audio/skill/os_heg__xionghuo2.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fb542710edc4018f5b3f4a76061f53e5f5a8f99f GIT binary patch literal 13688 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 a7kb-Qfc^{Xfc^pWR~`Ky{QdtOL;nlgRmjNz literal 0 HcmV?d00001 diff --git a/hegemony_standard.lua b/hegemony_standard.lua index 96d6b99..66e9261 100644 --- a/hegemony_standard.lua +++ b/hegemony_standard.lua @@ -610,7 +610,7 @@ Fk:loadTranslationTable{ ["illustrator:hs__caopi"] = "DH", ["hs__fangzhu"] = "放逐", - [":hs__fangzhu"] = "当你受到伤害后,你可令一名其他角色选择一项:1.摸X张牌并叠置(X为你已损失的体力值);2.弃置一张牌并失去1点体力。", + [":hs__fangzhu"] = "当你受到伤害后,你可令一名其他角色选择一项:1.摸X张牌并叠置;2.弃置X张牌并失去1点体力。(X为你已损失的体力值)", ["#hs__fangzhu-choose"] = "放逐:你可令一名其他角色选择摸%arg张牌并叠置,或弃置一张牌并失去1点体力", ["hs__fangzhu_ask"] = "放逐:弃置%arg张牌并失去1点体力,或点击“取消”,摸牌并叠置", diff --git a/image/generals/os_heg__xurong.jpg b/image/generals/os_heg__xurong.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b649fd54b943df6f3d55ffa818416e430b046fb8 GIT binary patch literal 15844 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 S*H=tK#$2ep*jw^t@xK5Y9nIVT literal 0 HcmV?d00001 diff --git a/lord_ex.lua b/lord_ex.lua index 320473d..b99c489 100644 --- a/lord_ex.lua +++ b/lord_ex.lua @@ -940,7 +940,10 @@ local jilix = fk.CreateTriggerSkill{ if event == fk.TargetConfirmed then data.additionalEffect = 1 else - H.removeGeneral(room, player, true) + local isDeputy = H.inGeneralSkills(player, self.name) + if isDeputy then + H.removeGeneral(room, player, isDeputy == "d") + end return true end end, diff --git a/momentum.lua b/momentum.lua index b7437fb..a16e4fd 100644 --- a/momentum.lua +++ b/momentum.lua @@ -34,8 +34,8 @@ local hengjiang = fk.CreateTriggerSkill{ local target = room.current if target ~= nil and not target.dead then room:doIndicate(player.id, {target.id}) - room:addPlayerMark(target, "@hengjiang-turn", math.min(1, #target:getCardIds("e"))) - room:addPlayerMark(target, MarkEnum.MinusMaxCardsInTurn, math.min(1, #target:getCardIds("e"))) + room:addPlayerMark(target, "@hengjiang-turn", math.max(1, #target:getCardIds("e"))) + room:addPlayerMark(target, MarkEnum.MinusMaxCardsInTurn, math.max(1, #target:getCardIds("e"))) end end } diff --git a/overseas_heg.lua b/overseas_heg.lua index 40a8a83..bf509ca 100644 --- a/overseas_heg.lua +++ b/overseas_heg.lua @@ -3,6 +3,7 @@ extension.extensionName = "hegemony" extension.game_modes_whitelist = { 'nos_heg_mode', 'new_heg_mode' } local H = require "packages/hegemony/util" +local U = require "packages/utility/utility" Fk:loadTranslationTable{ ["overseas_heg"] = "国战-国际服专属", @@ -492,4 +493,138 @@ Fk:loadTranslationTable{ ["$yuanyuk2"] = "这片土地的人,真是太有趣了。", ["~os_heg__himiko"] = "我还会从黄泉比良坂回来的……", } + +local xurong = General(extension, "os_heg__xurong", "qun", 4) +local xionghuo = fk.CreateActiveSkill{ + name = "os_heg__xionghuo", + anim_type = "offensive", + card_num = 0, + target_num = 1, + prompt = "#os_heg__xionghuo-active", + can_use = function(self, player) + return player:getMark("@os_heg__baoli") > 0 + end, + card_filter = Util.FalseFunc, + target_filter = function(self, to_select, selected) + local target = Fk:currentRoom():getPlayerById(to_select) + return #selected == 0 and to_select ~= Self.id and target:getMark("@os_heg__baoli") == 0 and not H.compareKingdomWith(Self, target) + end, + on_use = function(self, room, effect) + local player = room:getPlayerById(effect.from) + local target = room:getPlayerById(effect.tos[1]) + room:removePlayerMark(player, "@os_heg__baoli", 1) + room:addPlayerMark(target, "@os_heg__baoli", 1) + end, +} +local xionghuo_record = fk.CreateTriggerSkill{ + name = "#os_heg__xionghuo_record", + main_skill = xionghuo, + anim_type = "offensive", + events = {fk.GeneralRevealed, fk.DamageCaused, fk.EventPhaseStart}, + can_trigger = function(self, event, target, player, data) + if player:hasSkill(xionghuo.name) then + if event == fk.GeneralRevealed then + if player:usedSkillTimes(self.name, Player.HistoryGame) == 0 then + for _, v in pairs(data) do + if table.contains(Fk.generals[v]:getSkillNameList(), xionghuo.name) then return true end + end + end + elseif event == fk.DamageCaused then + return target == player and data.to ~= player and data.to:getMark("@os_heg__baoli") > 0 and data.card and data.to:getMark("@@os_heg__baoli_damage-turn") == 0 + else + return target ~= player and target:getMark("@os_heg__baoli") > 0 and target.phase == Player.Play + end + end + end, + on_cost = Util.TrueFunc, + on_use = function(self, event, target, player, data) + local room = player.room + player:broadcastSkillInvoke("os_heg__xionghuo") + if event == fk.GeneralRevealed then + room:addPlayerMark(player, "@os_heg__baoli", 3) + elseif event == fk.DamageCaused then + room:doIndicate(player.id, {data.to.id}) + data.damage = data.damage + 1 + room:setPlayerMark(data.to, "@@os_heg__baoli_damage-turn", 1) + else + room:doIndicate(player.id, {target.id}) + room:setPlayerMark(target, "@os_heg__baoli", 0) + local rand = math.random(1, target:isNude() and 2 or 3) + if rand == 1 then + room:damage { + from = player, + to = target, + damage = 1, + damageType = fk.FireDamage, + skillName = "os_heg__xionghuo", + } + if not (player.dead or target.dead) then + local mark = U.getMark(target, "os_heg__xionghuo_prohibit-turn") + table.insert(mark, player.id) + room:setPlayerMark(target, "os_heg__xionghuo_prohibit-turn", mark) + end + elseif rand == 2 then + room:loseHp(target, 1, "os_heg__xionghuo") + if not target.dead then + room:addPlayerMark(target, "MinusMaxCards-turn", 1) + end + else + local cards = table.random(target:getCardIds(Player.Hand), 1) + table.insertTable(cards, table.random(target:getCardIds(Player.Equip), 1)) + room:obtainCard(player, cards, false, fk.ReasonPrey) + end + end + end, + + refresh_events = {fk.BuryVictim, fk.EventLoseSkill}, + can_refresh = function(self, event, target, player, data) + if event == fk.BuryVictim then + return player == target and player:hasSkill(xionghuo, true, true) and table.every(player.room.alive_players, function (p) + return not p:hasSkill(xionghuo, true) + end) + elseif event == fk.EventLoseSkill then + return player == target and data == xionghuo and table.every(player.room.alive_players, function (p) + return not p:hasSkill(xionghuo, true) + end) + end + end, + on_refresh = function(self, event, target, player, data) + local room = player.room + for _, p in ipairs(room.alive_players) do + if p:getMark("@os_heg__baoli") > 0 then + room:setPlayerMark(p, "@os_heg__baoli", 0) + end + end + end, +} +local xionghuo_prohibit = fk.CreateProhibitSkill{ + name = "#os_heg__xionghuo_prohibit", + is_prohibited = function(self, from, to, card) + return card.trueName == "slash" and table.contains(U.getMark(from, "os_heg__xionghuo_prohibit-turn") ,to.id) + end, +} + +xionghuo:addRelatedSkill(xionghuo_record) +xionghuo:addRelatedSkill(xionghuo_prohibit) +xurong:addSkill(xionghuo) + +Fk:loadTranslationTable{ + ["os_heg__xurong"] = "徐荣", + ["#os_heg__xurong"] = "玄菟战魔", + ["cv:os_heg__xurong"] = "曹真", + ["designer:os_heg__xurong"] = "Loun老萌", + ["illustrator:os_heg__xurong"] = "青岛磐蒲", + + ["os_heg__xionghuo"] = "凶镬", + [":os_heg__xionghuo"] = "①当你首次明置此武将牌后,你获得三枚“暴戾”标记。②出牌阶段,你可以交给一名与你势力不同的角色一枚“暴戾”标记。③每回合每名角色限一次,当你使用牌对拥有“暴戾”标记的其他角色造成伤害时,此伤害+1。④拥有“暴戾”标记的其他角色出牌阶段开始时,其移去“暴戾”标记并随机执行:1.你对其造成1点火焰伤害,其本回合不能对你使用【杀】;2.其失去1点体力且本回合手牌上限-1;3.你获得其装备区里的一张牌,然后获得其一张手牌。", + + ["#os_heg__xionghuo_record"] = "凶镬", + ["@os_heg__baoli"] = "暴戾", + ["#os_heg__xionghuo-active"] = "发动 凶镬,将“暴戾”交给其他角色", + ["@@os_heg__baoli_damage-turn"] = "凶镬 已造伤", + + ["$os_heg__xionghuo1"] = "战场上的懦夫,可不会有好结局!", + ["$os_heg__xionghuo2"] = "用最残忍的方式,碾碎敌人!", + ["~os_heg__xurong"] = "死于战场……是个不错的结局……", +} return extension diff --git a/util.lua b/util.lua index 5601b20..9ca58b1 100644 --- a/util.lua +++ b/util.lua @@ -480,12 +480,15 @@ H.doCommand = function(to, skill_name, index, from, forced) ret = ret .. " " .. Fk:translate("chose") .. " " .. Fk:translate(result) .. "" room:doBroadcastNotify("ServerMessage", ret) --]] - if choice == "Cancel" then return false end local commandData = { from = from, to = to, command = index, } + if choice == "Cancel" then + room.logic:trigger("fk.AfterCommandUse", to, commandData) + return false + end if room.logic:trigger("fk.ChooseDoCommand", to, commandData) then room.logic:trigger("fk.AfterCommandUse", to, commandData) return true @@ -956,6 +959,7 @@ H.transformGeneral = function(room, player, isMain, isHidden) room:changeHero(player, general, false, not isMain, true, false, false) else if isMain then + H.removeGeneral(room, player, false) -- 先曲线救国一下,规避掉暗置导致失去的技能复原的问题 room:setPlayerGeneral(player, "anjiang", true) local general = Fk.generals[player:getMark("__heg_general")] local skills = table.connect(general.skills, table.map(general.other_skills, Util.Name2SkillMapper)) @@ -965,6 +969,7 @@ H.transformGeneral = function(room, player, isMain, isHidden) end end else + H.removeGeneral(room, player, true) -- 先曲线救国一下,规避掉暗置导致失去的技能复原的问题 room:setDeputyGeneral(player, "anjiang") local deputy = Fk.generals[player:getMark("__heg_deputy")] if deputy then -- Gitee From 2644ae5a6b9710beda91d9c9e816496faa981208 Mon Sep 17 00:00:00 2001 From: s1134s Date: Wed, 16 Oct 2024 11:14:12 +0800 Subject: [PATCH 16/20] fix hidden transform --- util.lua | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/util.lua b/util.lua index 9ca58b1..e14de4c 100644 --- a/util.lua +++ b/util.lua @@ -955,34 +955,25 @@ H.transformGeneral = function(room, player, isMain, isHidden) table.removeOne(generals, general) table.insert(generals, orig) room:returnToGeneralPile(generals) + room:setPlayerMark(player, isMain and "__heg_general" or "__heg_deputy", general) if not isHidden then room:changeHero(player, general, false, not isMain, true, false, false) else - if isMain then - H.removeGeneral(room, player, false) -- 先曲线救国一下,规避掉暗置导致失去的技能复原的问题 - room:setPlayerGeneral(player, "anjiang", true) - local general = Fk.generals[player:getMark("__heg_general")] - local skills = table.connect(general.skills, table.map(general.other_skills, Util.Name2SkillMapper)) - for _, s in ipairs(skills) do - if s.relate_to_place ~= "d" then - addHegSkill(player, s, room) - end - end - else - H.removeGeneral(room, player, true) -- 先曲线救国一下,规避掉暗置导致失去的技能复原的问题 - room:setDeputyGeneral(player, "anjiang") - local deputy = Fk.generals[player:getMark("__heg_deputy")] - if deputy then - local skills = table.connect(deputy.skills, table.map(deputy.other_skills, Util.Name2SkillMapper)) - for _, s in ipairs(skills) do - if s.relate_to_place ~= "m" then - addHegSkill(player, s, room) - end - end + -- 暗置变更 + local lose = Fk.generals[orig] + local general = isMain and Fk.generals[player:getMark("__heg_general")] or Fk.generals[player:getMark("__heg_deputy")] + room:setPlayerGeneral(player, "anjiang", isMain) + local skills = table.connect(general.skills, table.map(general.other_skills, Util.Name2SkillMapper)) + local location = isMain and "d" or "m" + for _, s in ipairs(skills) do + if s.relate_to_place ~= location then + addHegSkill(player, s, room) end end + for _, s in ipairs(lose:getSkillNameList()) do + room:handleAddLoseSkills(player, "-"..s, nil) + end end - room:setPlayerMark(player, isMain and "__heg_general" or "__heg_deputy", general) room.logic:trigger("fk.GeneralTransformed", player, orig) end -- Gitee From a34eb7b818dd67fcb48b8ae22ebb0503b0d6fab7 Mon Sep 17 00:00:00 2001 From: s1134s Date: Fri, 18 Oct 2024 10:50:06 +0800 Subject: [PATCH 17/20] fix --- init.lua | 2 + offline_heg.lua | 146 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 offline_heg.lua diff --git a/init.lua b/init.lua index c060eef..f284da1 100644 --- a/init.lua +++ b/init.lua @@ -5,6 +5,7 @@ local transformation = require "packages/hegemony/transformation"[1] local power = require "packages/hegemony/power"[1] local tenyear = require "packages/hegemony/tenyear_heg" local overseas = require "packages/hegemony/overseas_heg" +local offline = require "packages/hegemony/offline_heg" local ex = require "packages/hegemony/lord_ex" local hegemony_cards = require "packages/hegemony/hegemony_cards" @@ -25,6 +26,7 @@ return { power, tenyear, overseas, + offline, ex, hegemony_cards, diff --git a/offline_heg.lua b/offline_heg.lua new file mode 100644 index 0000000..7e77aca --- /dev/null +++ b/offline_heg.lua @@ -0,0 +1,146 @@ +local extension = Package:new("offline_heg") +extension.extensionName = "hegemony" +extension.game_modes_whitelist = { 'nos_heg_mode', 'new_heg_mode' } + +local H = require "packages/hegemony/util" +local U = require "packages/utility/utility" + +Fk:loadTranslationTable{ + ["offline_heg"] = "国战-线下卡专属", + ["of_heg"] = "国际", +} + +local xurong = General(extension, "of_heg__xurong", "qun", 4) +local xionghuo = fk.CreateActiveSkill{ + name = "of_heg__xionghuo", + anim_type = "offensive", + card_num = 0, + target_num = 1, + prompt = "#of_heg__xionghuo-active", + can_use = function(self, player) + return player:getMark("@of_heg__baoli") > 0 + end, + card_filter = Util.FalseFunc, + target_filter = function(self, to_select, selected) + local target = Fk:currentRoom():getPlayerById(to_select) + return #selected == 0 and to_select ~= Self.id and target:getMark("@of_heg__baoli") == 0 and not H.compareKingdomWith(Self, target) + end, + on_use = function(self, room, effect) + local player = room:getPlayerById(effect.from) + local target = room:getPlayerById(effect.tos[1]) + room:removePlayerMark(player, "@of_heg__baoli", 1) + room:addPlayerMark(target, "@of_heg__baoli", 1) + end, +} +local xionghuo_record = fk.CreateTriggerSkill{ + name = "#of_heg__xionghuo_record", + main_skill = xionghuo, + anim_type = "offensive", + events = {fk.GeneralRevealed, fk.DamageCaused, fk.EventPhaseStart}, + can_trigger = function(self, event, target, player, data) + if player:hasSkill(xionghuo.name) then + if event == fk.GeneralRevealed then + if player:usedSkillTimes(self.name, Player.HistoryGame) == 0 then + for _, v in pairs(data) do + if table.contains(Fk.generals[v]:getSkillNameList(), xionghuo.name) then return true end + end + end + elseif event == fk.DamageCaused then + return target == player and data.to ~= player and data.to:getMark("@of_heg__baoli") > 0 and data.card and data.to:getMark("@@of_heg__baoli_damage-turn") == 0 + else + return target ~= player and target:getMark("@of_heg__baoli") > 0 and target.phase == Player.Play + end + end + end, + on_cost = Util.TrueFunc, + on_use = function(self, event, target, player, data) + local room = player.room + player:broadcastSkillInvoke("of_heg__xionghuo") + if event == fk.GeneralRevealed then + room:addPlayerMark(player, "@of_heg__baoli", 3) + elseif event == fk.DamageCaused then + room:doIndicate(player.id, {data.to.id}) + data.damage = data.damage + 1 + room:setPlayerMark(data.to, "@@of_heg__baoli_damage-turn", 1) + else + room:doIndicate(player.id, {target.id}) + room:setPlayerMark(target, "@of_heg__baoli", 0) + local rand = math.random(1, target:isNude() and 2 or 3) + if rand == 1 then + room:damage { + from = player, + to = target, + damage = 1, + damageType = fk.FireDamage, + skillName = "of_heg__xionghuo", + } + if not (player.dead or target.dead) then + local mark = U.getMark(target, "of_heg__xionghuo_prohibit-turn") + table.insert(mark, player.id) + room:setPlayerMark(target, "of_heg__xionghuo_prohibit-turn", mark) + end + elseif rand == 2 then + room:loseHp(target, 1, "of_heg__xionghuo") + if not target.dead then + room:addPlayerMark(target, "MinusMaxCards-turn", 1) + end + else + local cards = table.random(target:getCardIds(Player.Hand), 1) + table.insertTable(cards, table.random(target:getCardIds(Player.Equip), 1)) + room:obtainCard(player, cards, false, fk.ReasonPrey) + end + end + end, + + refresh_events = {fk.BuryVictim, fk.EventLoseSkill}, + can_refresh = function(self, event, target, player, data) + if event == fk.BuryVictim then + return player == target and player:hasSkill(xionghuo, true, true) and table.every(player.room.alive_players, function (p) + return not p:hasSkill(xionghuo, true) + end) + elseif event == fk.EventLoseSkill then + return player == target and data == xionghuo and table.every(player.room.alive_players, function (p) + return not p:hasSkill(xionghuo, true) + end) + end + end, + on_refresh = function(self, event, target, player, data) + local room = player.room + for _, p in ipairs(room.alive_players) do + if p:getMark("@of_heg__baoli") > 0 then + room:setPlayerMark(p, "@of_heg__baoli", 0) + end + end + end, +} +local xionghuo_prohibit = fk.CreateProhibitSkill{ + name = "#of_heg__xionghuo_prohibit", + is_prohibited = function(self, from, to, card) + return card.trueName == "slash" and table.contains(U.getMark(from, "of_heg__xionghuo_prohibit-turn") ,to.id) + end, +} + +xionghuo:addRelatedSkill(xionghuo_record) +xionghuo:addRelatedSkill(xionghuo_prohibit) +xurong:addSkill(xionghuo) + +Fk:loadTranslationTable{ + ["of_heg__xurong"] = "徐荣", + ["#of_heg__xurong"] = "玄菟战魔", + ["cv:of_heg__xurong"] = "曹真", + ["designer:of_heg__xurong"] = "Loun老萌", + ["illustrator:of_heg__xurong"] = "青岛磐蒲", + + ["of_heg__xionghuo"] = "凶镬", + [":of_heg__xionghuo"] = "①当你首次明置此武将牌后,你获得三枚“暴戾”标记。②出牌阶段,你可以交给一名与你势力不同的角色一枚“暴戾”标记。③每回合每名角色限一次,当你使用牌对拥有“暴戾”标记的其他角色造成伤害时,此伤害+1。④拥有“暴戾”标记的其他角色出牌阶段开始时,其移去“暴戾”标记并随机执行:1.你对其造成1点火焰伤害,其本回合不能对你使用【杀】;2.其失去1点体力且本回合手牌上限-1;3.你获得其装备区里的一张牌,然后获得其一张手牌。", + + ["#of_heg__xionghuo_record"] = "凶镬", + ["@of_heg__baoli"] = "暴戾", + ["#of_heg__xionghuo-active"] = "发动 凶镬,将“暴戾”交给其他角色", + ["@@of_heg__baoli_damage-turn"] = "凶镬 已造伤", + + ["$of_heg__xionghuo1"] = "战场上的懦夫,可不会有好结局!", + ["$of_heg__xionghuo2"] = "用最残忍的方式,碾碎敌人!", + ["~of_heg__xurong"] = "死于战场……是个不错的结局……", +} +return extension -- Gitee From 7acc4b4fe9cfaca9dff7d40fb327cd0a450725dd Mon Sep 17 00:00:00 2001 From: s1134s Date: Fri, 18 Oct 2024 10:51:28 +0800 Subject: [PATCH 18/20] fix --- .../{os_heg__xurong.mp3 => of_heg__xurong.mp3} | Bin ...{os_heg__xionghuo1.mp3 => of_heg__xionghuo1.mp3} | Bin ...{os_heg__xionghuo2.mp3 => of_heg__xionghuo2.mp3} | Bin .../{os_heg__xurong.jpg => of_heg__xurong.jpg} | Bin 4 files changed, 0 insertions(+), 0 deletions(-) rename audio/death/{os_heg__xurong.mp3 => of_heg__xurong.mp3} (100%) rename audio/skill/{os_heg__xionghuo1.mp3 => of_heg__xionghuo1.mp3} (100%) rename audio/skill/{os_heg__xionghuo2.mp3 => of_heg__xionghuo2.mp3} (100%) rename image/generals/{os_heg__xurong.jpg => of_heg__xurong.jpg} (100%) diff --git a/audio/death/os_heg__xurong.mp3 b/audio/death/of_heg__xurong.mp3 similarity index 100% rename from audio/death/os_heg__xurong.mp3 rename to audio/death/of_heg__xurong.mp3 diff --git a/audio/skill/os_heg__xionghuo1.mp3 b/audio/skill/of_heg__xionghuo1.mp3 similarity index 100% rename from audio/skill/os_heg__xionghuo1.mp3 rename to audio/skill/of_heg__xionghuo1.mp3 diff --git a/audio/skill/os_heg__xionghuo2.mp3 b/audio/skill/of_heg__xionghuo2.mp3 similarity index 100% rename from audio/skill/os_heg__xionghuo2.mp3 rename to audio/skill/of_heg__xionghuo2.mp3 diff --git a/image/generals/os_heg__xurong.jpg b/image/generals/of_heg__xurong.jpg similarity index 100% rename from image/generals/os_heg__xurong.jpg rename to image/generals/of_heg__xurong.jpg -- Gitee From 59c5832624a656a38ae674f3004e2234ee12a9d3 Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Fri, 18 Oct 2024 02:54:23 +0000 Subject: [PATCH 19/20] update overseas_heg.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- overseas_heg.lua | 133 ----------------------------------------------- 1 file changed, 133 deletions(-) diff --git a/overseas_heg.lua b/overseas_heg.lua index bf509ca..2916fd2 100644 --- a/overseas_heg.lua +++ b/overseas_heg.lua @@ -494,137 +494,4 @@ Fk:loadTranslationTable{ ["~os_heg__himiko"] = "我还会从黄泉比良坂回来的……", } -local xurong = General(extension, "os_heg__xurong", "qun", 4) -local xionghuo = fk.CreateActiveSkill{ - name = "os_heg__xionghuo", - anim_type = "offensive", - card_num = 0, - target_num = 1, - prompt = "#os_heg__xionghuo-active", - can_use = function(self, player) - return player:getMark("@os_heg__baoli") > 0 - end, - card_filter = Util.FalseFunc, - target_filter = function(self, to_select, selected) - local target = Fk:currentRoom():getPlayerById(to_select) - return #selected == 0 and to_select ~= Self.id and target:getMark("@os_heg__baoli") == 0 and not H.compareKingdomWith(Self, target) - end, - on_use = function(self, room, effect) - local player = room:getPlayerById(effect.from) - local target = room:getPlayerById(effect.tos[1]) - room:removePlayerMark(player, "@os_heg__baoli", 1) - room:addPlayerMark(target, "@os_heg__baoli", 1) - end, -} -local xionghuo_record = fk.CreateTriggerSkill{ - name = "#os_heg__xionghuo_record", - main_skill = xionghuo, - anim_type = "offensive", - events = {fk.GeneralRevealed, fk.DamageCaused, fk.EventPhaseStart}, - can_trigger = function(self, event, target, player, data) - if player:hasSkill(xionghuo.name) then - if event == fk.GeneralRevealed then - if player:usedSkillTimes(self.name, Player.HistoryGame) == 0 then - for _, v in pairs(data) do - if table.contains(Fk.generals[v]:getSkillNameList(), xionghuo.name) then return true end - end - end - elseif event == fk.DamageCaused then - return target == player and data.to ~= player and data.to:getMark("@os_heg__baoli") > 0 and data.card and data.to:getMark("@@os_heg__baoli_damage-turn") == 0 - else - return target ~= player and target:getMark("@os_heg__baoli") > 0 and target.phase == Player.Play - end - end - end, - on_cost = Util.TrueFunc, - on_use = function(self, event, target, player, data) - local room = player.room - player:broadcastSkillInvoke("os_heg__xionghuo") - if event == fk.GeneralRevealed then - room:addPlayerMark(player, "@os_heg__baoli", 3) - elseif event == fk.DamageCaused then - room:doIndicate(player.id, {data.to.id}) - data.damage = data.damage + 1 - room:setPlayerMark(data.to, "@@os_heg__baoli_damage-turn", 1) - else - room:doIndicate(player.id, {target.id}) - room:setPlayerMark(target, "@os_heg__baoli", 0) - local rand = math.random(1, target:isNude() and 2 or 3) - if rand == 1 then - room:damage { - from = player, - to = target, - damage = 1, - damageType = fk.FireDamage, - skillName = "os_heg__xionghuo", - } - if not (player.dead or target.dead) then - local mark = U.getMark(target, "os_heg__xionghuo_prohibit-turn") - table.insert(mark, player.id) - room:setPlayerMark(target, "os_heg__xionghuo_prohibit-turn", mark) - end - elseif rand == 2 then - room:loseHp(target, 1, "os_heg__xionghuo") - if not target.dead then - room:addPlayerMark(target, "MinusMaxCards-turn", 1) - end - else - local cards = table.random(target:getCardIds(Player.Hand), 1) - table.insertTable(cards, table.random(target:getCardIds(Player.Equip), 1)) - room:obtainCard(player, cards, false, fk.ReasonPrey) - end - end - end, - - refresh_events = {fk.BuryVictim, fk.EventLoseSkill}, - can_refresh = function(self, event, target, player, data) - if event == fk.BuryVictim then - return player == target and player:hasSkill(xionghuo, true, true) and table.every(player.room.alive_players, function (p) - return not p:hasSkill(xionghuo, true) - end) - elseif event == fk.EventLoseSkill then - return player == target and data == xionghuo and table.every(player.room.alive_players, function (p) - return not p:hasSkill(xionghuo, true) - end) - end - end, - on_refresh = function(self, event, target, player, data) - local room = player.room - for _, p in ipairs(room.alive_players) do - if p:getMark("@os_heg__baoli") > 0 then - room:setPlayerMark(p, "@os_heg__baoli", 0) - end - end - end, -} -local xionghuo_prohibit = fk.CreateProhibitSkill{ - name = "#os_heg__xionghuo_prohibit", - is_prohibited = function(self, from, to, card) - return card.trueName == "slash" and table.contains(U.getMark(from, "os_heg__xionghuo_prohibit-turn") ,to.id) - end, -} - -xionghuo:addRelatedSkill(xionghuo_record) -xionghuo:addRelatedSkill(xionghuo_prohibit) -xurong:addSkill(xionghuo) - -Fk:loadTranslationTable{ - ["os_heg__xurong"] = "徐荣", - ["#os_heg__xurong"] = "玄菟战魔", - ["cv:os_heg__xurong"] = "曹真", - ["designer:os_heg__xurong"] = "Loun老萌", - ["illustrator:os_heg__xurong"] = "青岛磐蒲", - - ["os_heg__xionghuo"] = "凶镬", - [":os_heg__xionghuo"] = "①当你首次明置此武将牌后,你获得三枚“暴戾”标记。②出牌阶段,你可以交给一名与你势力不同的角色一枚“暴戾”标记。③每回合每名角色限一次,当你使用牌对拥有“暴戾”标记的其他角色造成伤害时,此伤害+1。④拥有“暴戾”标记的其他角色出牌阶段开始时,其移去“暴戾”标记并随机执行:1.你对其造成1点火焰伤害,其本回合不能对你使用【杀】;2.其失去1点体力且本回合手牌上限-1;3.你获得其装备区里的一张牌,然后获得其一张手牌。", - - ["#os_heg__xionghuo_record"] = "凶镬", - ["@os_heg__baoli"] = "暴戾", - ["#os_heg__xionghuo-active"] = "发动 凶镬,将“暴戾”交给其他角色", - ["@@os_heg__baoli_damage-turn"] = "凶镬 已造伤", - - ["$os_heg__xionghuo1"] = "战场上的懦夫,可不会有好结局!", - ["$os_heg__xionghuo2"] = "用最残忍的方式,碾碎敌人!", - ["~os_heg__xurong"] = "死于战场……是个不错的结局……", -} return extension -- Gitee From 51958f057116d39ce4daf62245404657bd2ae40a Mon Sep 17 00:00:00 2001 From: s1134s <9902511+s1134s@user.noreply.gitee.com> Date: Fri, 18 Oct 2024 02:56:38 +0000 Subject: [PATCH 20/20] update offline_heg.lua. Signed-off-by: s1134s <9902511+s1134s@user.noreply.gitee.com> --- offline_heg.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/offline_heg.lua b/offline_heg.lua index 7e77aca..f462737 100644 --- a/offline_heg.lua +++ b/offline_heg.lua @@ -7,7 +7,7 @@ local U = require "packages/utility/utility" Fk:loadTranslationTable{ ["offline_heg"] = "国战-线下卡专属", - ["of_heg"] = "国际", + ["of_heg"] = "线下", } local xurong = General(extension, "of_heg__xurong", "qun", 4) -- Gitee