diff --git a/audio/death/jy__yzls.mp3 b/audio/death/jy__yzls.mp3 new file mode 100644 index 0000000..73c8ca9 Binary files /dev/null and b/audio/death/jy__yzls.mp3 differ diff --git a/audio/skill/jy_zhanshu1.mp3 b/audio/skill/jy_zhanshu1.mp3 new file mode 100644 index 0000000..bd46f9c Binary files /dev/null and b/audio/skill/jy_zhanshu1.mp3 differ diff --git a/audio/skill/jy_zhanshu2.mp3 b/audio/skill/jy_zhanshu2.mp3 new file mode 100644 index 0000000..93d8f6e Binary files /dev/null and b/audio/skill/jy_zhanshu2.mp3 differ diff --git a/audio/skill/jy_zixing1.mp3 b/audio/skill/jy_zixing1.mp3 new file mode 100644 index 0000000..4130185 Binary files /dev/null and b/audio/skill/jy_zixing1.mp3 differ diff --git a/audio/skill/jy_zixing2.mp3 b/audio/skill/jy_zixing2.mp3 new file mode 100644 index 0000000..cb690fb Binary files /dev/null and b/audio/skill/jy_zixing2.mp3 differ diff --git a/image/generals/avatar/jy__yzls.jpg b/image/generals/avatar/jy__yzls.jpg new file mode 100644 index 0000000..a7b9d17 Binary files /dev/null and b/image/generals/avatar/jy__yzls.jpg differ diff --git a/image/generals/jy__yzls.jpg b/image/generals/jy__yzls.jpg new file mode 100644 index 0000000..79bff39 Binary files /dev/null and b/image/generals/jy__yzls.jpg differ diff --git a/jianyu.lua b/jianyu.lua index a9e0823..b35b0e2 100644 --- a/jianyu.lua +++ b/jianyu.lua @@ -1607,7 +1607,7 @@ Fk:loadTranslationTable { ["~jy__raiden"] = "浮世一梦……", ["jy_leiyan"] = "雷眼", - [":jy_leiyan"] = [[出牌阶段限一次,你可以令至少一名角色获得雷眼;持有雷眼的角色造成伤害后,若目标未死亡,你判定,若为黑色,你对目标造成1点雷电伤害,该伤害不会触发〖雷眼〗。]], + [":jy_leiyan"] = [[出牌阶段限一次,你可以令至少一名角色获得雷眼;持有雷眼的角色造成伤害后,若目标未死亡,你判定,若为黑色,你对目标造成1点雷电伤害(不会触发〖雷眼〗)。]], ["@jy_raiden_leiyan"] = [[雷眼]], ["#jy_leiyan_trigger"] = "雷眼", ["$jy_leiyan1"] = "泡影看破!", @@ -1615,7 +1615,7 @@ Fk:loadTranslationTable { ["$jy_leiyan3"] = "威光无赦!", ["jy_zhenshuo"] = "真说", - [":jy_zhenshuo"] = [[出牌阶段限一次,你可以弃3张牌对一名攻击范围内的角色造成1点雷电伤害。]], + [":jy_zhenshuo"] = [[出牌阶段限一次,你可以弃三张牌对一名攻击范围内的角色造成一点雷电伤害。]], ["$jy_zhenshuo1"] = "此刻,寂灭之时!", ["$jy_zhenshuo2"] = "稻光,亦是永恒!", ["$jy_zhenshuo3"] = "无念,断绝!", @@ -1678,7 +1678,7 @@ Fk:loadTranslationTable { ["~jy__ayato"] = "世事无常……", ["jy_jinghua"] = "镜花", - [":jy_jinghua"] = [[每回合限一次,你使用或打出一张基本牌后,可以使用一张【杀】,以此法使用的【杀】无次数限制且不可被响应。]], + [":jy_jinghua"] = [[每回合限一次,你使用或打出一张基本牌后,可以使用一张无次数限制且不可被响应的【杀】。]], ["$jy_jinghua1"] = "苍流水影。", ["$jy_jinghua2"] = "剑影。", ["#jy_jinghua_use"] = "镜花:你可以使用一张无次数限制且不可响应的【杀】", @@ -1779,6 +1779,7 @@ Fk:loadTranslationTable { local jy__huohuo = General(extension, "jy__huohuo", "wu", 3, 3, General.Female) +-- TODO:可以不写这个 local jy_bazhen = fk.CreateTriggerSkill { name = "jy_bazhen", events = { fk.AskForCardUse, fk.AskForCardResponse }, @@ -2083,6 +2084,7 @@ local genshin_names = { -- 以下是已知的怪物 ["兽境猎犬"] = true, ["深渊咏者"] = true, + ["海乱鬼"] = true, } local function is_genshin(player) @@ -2493,7 +2495,7 @@ local guiyi = fk.CreateTriggerSkill { anim_type = "offensive", events = { fk.EventPhaseProceeding }, can_trigger = function(self, event, target, player, data) - return player:hasSkill(self) and target ~= player and + return player:hasSkill(self) and target.phase == Player.Finish and not player:isNude() end, on_use = function(self, event, target, player, data) @@ -2530,7 +2532,6 @@ local guiyi_viewas = fk.CreateViewAsSkill { return nil end local c = Fk:cloneCard("duel") - c.skillName = self.name c:addSubcard(cards[1]) return c @@ -2546,9 +2547,9 @@ Fk:loadTranslationTable { ["illustrator:jy__gambler"] = "米哈游", ["jy_guiyi"] = [[命弈]], - [":jy_guiyi"] = [[其他角色的结束阶段,你可以将一张牌当【决斗】使用。若你因此【决斗】受到伤害,你死亡。]], + [":jy_guiyi"] = [[每名角色的结束阶段,你可以将一张牌当【决斗】使用。若此【决斗】对你造成伤害,你死亡。]], ["#jy_guiyi_viewas"] = [[命弈]], - ["#jy_guiyi-use"] = [[命弈:将一张牌当【决斗】使用,若你因此受伤则你死亡]], + ["#jy_guiyi-use"] = [[命弈:将一张牌当【决斗】使用,若其对你造成伤害则你死亡]], } local gambler = General(extension, "jy__gambler", "qun", 6) diff --git a/jianyu_tg.lua b/jianyu_tg.lua index 8966ed0..09dc424 100644 --- a/jianyu_tg.lua +++ b/jianyu_tg.lua @@ -451,7 +451,7 @@ local zitai = fk.CreateTriggerSkill { local yujian = fk.CreateTriggerSkill { name = "jy_yujian", anim_type = "control", - events = { fk.EventPhaseStart }, + events = { fk.EventPhaseProceeding }, can_trigger = function(self, event, target, player, data) return target == player and player:hasSkill(self) and player.phase == Player.Start @@ -481,7 +481,7 @@ Fk:loadTranslationTable { [":jy_zitai"] = [[转换技,锁定技,当你造成或受到伤害时,阳:你判定,若为红色,防止之;阴:该伤害+1。然后你摸两张牌。]], ["jy_yujian"] = [[预见]], - [":jy_yujian"] = [[准备阶段开始时,你可以观看牌堆顶的X张牌,然后将任意数量的牌置于牌堆顶,将其余的牌置于牌堆底。(X为游戏轮数且至多为5)。]], + [":jy_yujian"] = [[准备阶段,你可以卜算X(X为游戏轮数且至多为5)。]], } local tiandu = fk.CreateTriggerSkill { @@ -2277,7 +2277,7 @@ Fk:loadTranslationTable { ["~jy__fuxuan"] = [[事已前定……么……]], ["jy_guanxi"] = [[观歙]], - [":jy_guanxi"] = [[每轮开始时,你可以卜算3。若如此做,本轮你使用第X张牌结算后,当前回合角色视为使用【洞烛先机】(X为你卜算时置于牌堆底牌的数量)。]], + [":jy_guanxi"] = [[每轮开始时,你可以卜算3。若如此做,本轮你使用第X张牌结算后,当前回合角色视为使用【洞烛先机】(X为你卜算时置于牌堆底的牌数)。]], ["@jy_guanxi"] = [[观歙]], ["$jy_guanxi1"] = [[以额间之眼观之……]], ["$jy_guanxi2"] = [[本座先卜上一卦。]], @@ -2294,4 +2294,87 @@ Fk:loadTranslationTable { ["$jy_huilan3"] = [[否极泰来。]], } +local zhanshu = fk.CreateTriggerSkill { + name = "jy_zhanshu", + anim_type = "offensive", + events = { fk.EventPhaseProceeding }, + can_trigger = function(self, event, target, player, data) + return player:hasSkill(self) and + target.phase == Player.Finish and not player:isNude() + end, + on_cost = function(self, event, target, player, data) + local room = player.room + local success, dat = room:askForUseActiveSkill(player, "#jy_zhanshu_viewas", "#jy_zhanshu-use", true) + self.cost_data = dat + return success + end, + on_use = function(self, event, target, player, data) + local room = player.room + local card = Fk:cloneCard("duel") + card:addSubcards(self.cost_data.cards) + card.skillName = self.name + room:useCard({ + from = player.id, + tos = table.map(self.cost_data.targets, function(p) return { p } end), + card = card, + }) + end, +} +local zhanshu_viewas = fk.CreateViewAsSkill { + name = "#jy_zhanshu_viewas", + anim_type = "offensive", + pattern = "duel", + card_filter = Util.FalseFunc, + view_as = function(self, cards) + local c = Fk:cloneCard("duel") + c.skillName = self.name + return c + end, +} +zhanshu:addRelatedSkill(zhanshu_viewas) + +local zixing = fk.CreateTriggerSkill { + name = "jy_zixing", + anim_type = "drawcard", + events = { fk.CardUseFinished }, + can_trigger = function(self, event, target, player, data) + return player:hasSkill(self) and data.responseToEvent and data.responseToEvent.from == player.id and not target.dead + end, + on_use = function(self, event, target, player, data) + player:drawCards(2, self.name) + player.room:setPlayerMark(target, "jy_zixing-phase", true) + end, +} +local zixing_prohibit = fk.CreateProhibitSkill { + name = "#jy_zixing_prohibit", + is_prohibited = function(self, from, to, card) + return from:hasSkill(self) and to:getMark("jy_zixing-phase") ~= 0 + end, +} +zixing:addRelatedSkill(zixing_prohibit) + +local yzls = General(extension, "jy__yzls", "shu", 4, 4, General.Female) +yzls:addSkill(zhanshu) +yzls:addSkill(zixing) + +Fk:loadTranslationTable { + ["jy__yzls"] = [[宇泽玲纱]], + ["#jy__yzls"] = [[正义自警团员]], + ["designer:jy__yzls"] = [[白洲]], + ["cv:jy__yzls"] = [[根本京里]], + ["illustrator:jy__yzls"] = [[seu]], + ["~jy__yzls"] = [[唔……抱歉……]], + + ["jy_zhanshu"] = [[战书]], + [":jy_zhanshu"] = [[出牌阶段开始时,你可以视为使用【决斗】。]], + ["#jy_zhanshu-use"] = [[战书:你可以视为使用【决斗】]], + ["$jy_zhanshu1"] = [[在此参上!]], + ["$jy_zhanshu2"] = [[一决胜负!]], + + ["jy_zixing"] = [[自省]], + [":jy_zixing"] = [[当一名角色使用牌响应你的牌时,你可以摸两张牌,然后本阶段其不是你使用牌的合法目标。]], + ["$jy_zixing1"] = [[啊……难道说太大声了吗?影响到您了,对不起!]], + ["$jy_zixing2"] = [[果……果然还是算了吧……会被认为是奇怪的人……]], +} + return extension diff --git a/jianyu_trad.lua b/jianyu_trad.lua index bb6a722..342b56f 100644 --- a/jianyu_trad.lua +++ b/jianyu_trad.lua @@ -686,7 +686,8 @@ local jy_fuzhu = fk.CreateTriggerSkill { -- TODO:UI变好看一点 local skill_name = room:askForCustomDialog(player, self.name, "packages/jianyu/qml/fuzhu.qml") - if #skill_name > 15 then return false end + if #skill_name > 10 then return false end + if not skill_name:match("[^%a_]") then return false end local sk = Fk.skills[skill_name] -- 可以用 Util.Name2SkillMapper(skill_name),原理一样 if sk then room:handleAddLoseSkills(player, skill_name, nil, true, false) @@ -699,12 +700,12 @@ otto:addSkill(jy_fuzhu) Fk:loadTranslationTable { ["jy__trad__god"] = [[侯国玉]], ["#jy__trad__god"] = rjhd, - ["designer:jy__trad__god"] = [[是沐沐]], + ["designer:jy__trad__god"] = [[考公专家]], ["cv:jy__trad__god"] = [[无]], ["illustrator:jy__trad__god"] = [[未知]], - ["jy_fuzhu"] = "牛逼", - [":jy_fuzhu"] = [[每局游戏限两次,你的回合结束时,你可以获得一个想要的技能。
你需要知道这个技能的name参数(如:paoxiao、jy_lingfu、mou__tieji)。name参数长度不得超过15。若输入错误,你不会获得技能。]], + ["jy_fuzhu"] = "哇袄", + [":jy_fuzhu"] = [[每局游戏限两次,你的回合结束时,你可以获得一个想要的技能。
你需要知道这个技能的name参数(如paoxiao),你的输入必须仅含英文字母或下划线且长度不得超过10。若输入错误,你不会获得技能。]], } return extension