diff --git a/README.md b/README.md
index db71748..f6e008a 100644
--- a/README.md
+++ b/README.md
@@ -98,7 +98,7 @@
玉玉:锁定技,当你被没有【高天亮之敌】标记的角色使用【杀】造成了伤害时,你令其获得【高天亮之敌】标记。受到来自没有【高天亮之敌】标记的角色或因本次伤害而获得【高天亮之敌】标记的角色造成的伤害时,你可以摸三张牌,然后翻面。
-### 群·赵乾熙 体力4
+### 群·赵乾熙 体力3
![群·赵乾熙](./image/generals/avatar/tym__zhaoqianxi.jpg "群·赵乾熙")
@@ -107,6 +107,8 @@
原神:锁定技,你造成的属性伤害+1。
帽猫:你可以将一张♠手牌当作【火杀】使用或打出。
+
+猫帽:你可以将一张♣手牌当作【雷杀】使用或打出。
因为Beryl抽满命林尼歪了六次,所以他决定在新月杀中重拾自己的火。
### 群·界赵乾熙 体力4
@@ -121,7 +123,6 @@
本次伤害不会令其进入【火附着】状态,而是移除【雷附着】状态并使该伤害+1;
当一名【火附着】状态的角色受到雷属性伤害时,
本次伤害不会令其进入【雷附着】状态,而是移除【火附着】状态并弃两张牌。
-
这个技能对每次伤害仅生效一次,不论场上是否有多个角色拥有这个技能。
附魔:当有角色使用【杀】造成无属性伤害时,你可以弃一张牌并令伤害来源进行一次判定,若结果为:红色,将此次伤害改为火属性;黑色,将此次伤害改为雷属性。
diff --git a/jianyu.lua b/jianyu.lua
index cf582d9..c3bad35 100644
--- a/jianyu.lua
+++ b/jianyu.lua
@@ -975,7 +975,7 @@ Fk:loadTranslationTable {
}
-- -- 赵乾熙
-local tym__zhaoqianxi = General(extension, "tym__zhaoqianxi", "qun", 4, 4, General.Male)
+local tym__zhaoqianxi = General(extension, "tym__zhaoqianxi", "qun", 3, 3, General.Male)
-- 参考自藤甲。要把DamageInflicted改成DamageCaused,就是你对别人造成伤害的意思。
-- 如果是DamageInflicted,就是别人对你造成伤害的意思。
@@ -1009,8 +1009,25 @@ local jy_huoji = fk.CreateViewAsSkill{
end,
}
+local jy_leiji = fk.CreateViewAsSkill{
+ name = "jy_leiji",
+ anim_type = "offensive",
+ pattern = "thunder__slash",
+ card_filter = function(self, to_select, selected)
+ return #selected == 0 and Fk:getCardById(to_select).suit == Card.Club and Fk:currentRoom():getCardArea(to_select) ~= Player.Equip
+ end,
+ view_as = function(self, cards)
+ if #cards ~= 1 then return end
+ local card = Fk:cloneCard("thunder__slash")
+ card.skillName = self.name
+ card:addSubcard(cards[1])
+ return card
+ end,
+}
+
tym__zhaoqianxi:addSkill(jy_yuanshen)
tym__zhaoqianxi:addSkill(jy_huoji)
+tym__zhaoqianxi:addSkill(jy_leiji)
Fk:loadTranslationTable {
["tym__zhaoqianxi"] = "赵乾熙",
@@ -1019,7 +1036,10 @@ Fk:loadTranslationTable {
[":jy_yuanshen"] = [[锁定技,你造成的属性伤害+1。]],
["jy_huoji"] = "帽猫",
- [":jy_huoji"] = [[你可以将一张♠手牌当作【火杀】使用或打出。
+ [":jy_huoji"] = [[你可以将一张♠手牌当作【火杀】使用或打出。]],
+
+ ["jy_leiji"] = "猫帽",
+ [":jy_leiji"] = [[你可以将一张♣手牌当作【雷杀】使用或打出。
因为Beryl抽满命林尼歪了六次,所以他决定在新月杀中重拾自己的火。]],
}
@@ -1027,7 +1047,9 @@ Fk:loadTranslationTable {
local tym__zhaoqianxi_2 = General(extension, "tym__zhaoqianxi_2", "qun", 4, 4, General.Male)
-- tym__zhaoqianxi_2.hidden = true
--- TODO:给触发了元素反应时写个提示,类似国战开始的时候的那种
+-- TODO:被铁索连环的目标如果因为这次伤害受到了元素反应,那么不会让其他被铁索连环的目标受到附着效果。
+-- 这是因为is_jy_yuanshen_2_triggered。目前已经删除了这个变量,以后再处理。但是这样的问题是:
+-- 如果场上有多个有这个技能的角色,那么既会附着又会负面效果
local jy_yuanshen_2 = fk.CreateTriggerSkill{
name = "jy_yuanshen_2",
frequency = Skill.Compulsory,
@@ -1035,7 +1057,9 @@ local jy_yuanshen_2 = fk.CreateTriggerSkill{
events = {fk.DamageInflicted},
can_trigger = function(self, event, target, player, data) -- player是我自己,只能让我自己播放这个动画
if not player:hasSkill(self) then return false end
- return data.damageType ~= fk.NormalDamage and not data.is_jy_yuanshen_2_triggered -- 如果这次没有被其他的该技能响应
+ -- return data.damageType ~= fk.NormalDamage and not data.is_jy_yuanshen_2_triggered -- 如果这次没有被其他的该技能响应
+ -- TODO记得调回来
+ return data.damageType ~= fk.NormalDamage
end,
on_use = function(self, event, target, player, data)
local room = player.room
@@ -1043,20 +1067,28 @@ local jy_yuanshen_2 = fk.CreateTriggerSkill{
-- 使用for循环以方便后面添加元素反应类型。每次只会有一种反应发生。
-- element[1]是A属性类型,element[2]是A对应的附着标记,
-- element[3]是A要反应的附着标记B,element[4]是要造成的效果
+ -- element[5]是这个反应需要造成的广播提示
-- Lua 的数组从1开始
- for _, element in ipairs(
- { {fk.FireDamage, "@jy_yuanshen_2_pyro", "@jy_yuanshen_2_electro",
- function(self, event, target, player, data) data.damage = data.damage + 1 end},
+ for _, element in ipairs({
+ {fk.FireDamage, "@jy_yuanshen_2_pyro", "@jy_yuanshen_2_electro",
+ function(self, event, target, player, data) data.damage = data.damage + 1 end,
+ "#jy_yuanshen_2_reaction_1",
+ },
{fk.ThunderDamage, "@jy_yuanshen_2_electro", "@jy_yuanshen_2_pyro",
- function(self, event, target, player, data) player.room:askForDiscard(data.to, 2, 2, true, self.name, false, nil, "#jy_yuanshen_2_overload_discard") end},
- }
- ) do
+ function(self, event, target, player, data)
+ player.room:askForDiscard(data.to, 2, 2, true, self.name, false, nil, "#jy_yuanshen_2_overload_discard")
+ end,
+ "#jy_yuanshen_2_reaction_2",
+ },
+ }) do
if data.damageType == element[1] then -- 如果是A属性伤害
if data.to:getMark(element[3]) ~= 0 then -- 如果目标有B附着
room:setPlayerMark(data.to, element[3], 0) -- 将B附着解除
+ room:doBroadcastNotify("ShowToast", Fk:translate(element[5])) -- 广播发生了元素反应。先广播再造成效果!
element[4](self, event, target, player, data) -- 造成效果
- data.is_jy_yuanshen_2_triggered = true -- 如果有多个拥有这个技能的人,告诉他不用再发动了
- return -- 结束了,不用判断下一个了
+ -- data.is_jy_yuanshen_2_triggered = true -- 如果有多个拥有这个技能的人,告诉他不用再发动了
+ -- TODO 记得调回来
+ return -- 结束了,不用判断下面的了
end
if data.to:getMark(element[2]) == 0 then -- 如果目标没有A附着
room:setPlayerMark(data.to, element[2], 1) -- 造成A附着
@@ -1118,12 +1150,13 @@ Fk:loadTranslationTable {
当一名【雷附着】状态的角色受到火属性伤害时,
本次伤害不会令其进入【火附着】状态,而是移除【雷附着】状态并使该伤害+1;
当一名【火附着】状态的角色受到雷属性伤害时,
- 本次伤害不会令其进入【雷附着】状态,而是移除【火附着】状态并弃两张牌。
-
这个技能对每次伤害仅生效一次,不论场上是否有多个角色拥有这个技能。]],
+ 本次伤害不会令其进入【雷附着】状态,而是移除【火附着】状态并弃两张牌。]],
+ ["#jy_yuanshen_2_reaction_1"] = [[火属性伤害遭遇【雷附着】发生反应,伤害+1]],
+ ["#jy_yuanshen_2_reaction_2"] = [[雷属性伤害遭遇【火附着】发生反应,弃两张牌]],
- ["@jy_yuanshen_2_pyro"] = "火附着",
- ["@jy_yuanshen_2_electro"] = "雷附着",
- ["#jy_yuanshen_2_overload_discard"] = "你在【雷附着】状态下受到了火属性伤害,需要弃置两张牌",
+ ["@jy_yuanshen_2_pyro"] = [[火附着]],
+ ["@jy_yuanshen_2_electro"] = [[雷附着]],
+ ["#jy_yuanshen_2_overload_discard"] = [[你在【雷附着】状态下受到了火属性伤害,需要弃置两张牌]],
["jy_fumo"] = "附魔",
["#jy_fumo-invoke"] = "附魔:%dest 受到无属性伤害,你可以弃置一张牌令伤害来源判定,改为属性伤害。",