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