火遁:出牌阶段限一次,你可以弃一张杀,获得技能“豪火球之术”和“凤仙火之术”直到回合结束。
如下:
function KaTonnNoJuTsu(room, player)
local katonn = {"NRTGouKaKyuu", "NRTHouSennKa"}
for _,sk in ipairs(katonn) do
if player:hasSkill(sk) then
table.remove(katonn, sk)
end
end
if #katonn > 0 then
room:handleAcquireDetachSkills(player, table.concat(katonn, "|"))
end
player:setTag(player:objectName().."NRTKaTonn", sgs.QVariant(table.concat(katonn, "+")))
end
KaTonnCard = sgs.CreateSkillCard{
name = "KaTonnCard",
target_fixed = true,
on_use = function(self, room, source, targets)
KaTonnNoJuTsu(room, source)
room:setPlayerFlag(source, source:objectName().."KaTonn")
end
}
NRTKaTonn = sgs.CreateViewAsSkill{
name = "NRTKaTonn",
n = 1,
view_filter = function(self, selected, to_select)
return to_select:isKindOf("Slash") and (#selected == 0)
end,
view_as = function(self, cards)
local katonn_card = KaTonnCard:clone()
katonn_card:addSubcard(cards[1])
return katonn_card
end,
enabled_at_play = function(self, player)
return not player:hasUsed("#KaTonnCard")
end
}
NRTKaTonnSkill = sgs.CreateTriggerSkill{
name = "#NRTKaTonnSkill",
frequency = sgs.Skill_Compulsory,
events = {sgs.EventPhaseChanging},
on_trigger = function(self, event, player, data)
if data:toPhaseChange().to ~= sgs.Player_NotActive then return false end
if not player:hasFlag(player:objectName().."KaTonn") then return false end
local room = player:getRoom()
room:setPlayerFlag(player, "-"..player:objectName().."KaTonn")
local katonn = player:getTag(player:objectName().."NRTKaTonn"):toString():split("+")
local detach = {}
for _,sk in ipairs(katonn) do
table.insert(detach, "-"..sk)
end
if #detach > 0 then
room:handleAcquireDetachSkills(player, table.concat(detach, "|"))
end
room:removeTag(player:objectName().."NRTKaTonn")
end
}
extension:insertRelatedSkills("NRTKaTonn", "#NRTKaTonnSkill")
小弟实在不知哪里出错了,望各位大神指教。
如下:
function KaTonnNoJuTsu(room, player)
local katonn = {"NRTGouKaKyuu", "NRTHouSennKa"}
for _,sk in ipairs(katonn) do
if player:hasSkill(sk) then
table.remove(katonn, sk)
end
end
if #katonn > 0 then
room:handleAcquireDetachSkills(player, table.concat(katonn, "|"))
end
player:setTag(player:objectName().."NRTKaTonn", sgs.QVariant(table.concat(katonn, "+")))
end
KaTonnCard = sgs.CreateSkillCard{
name = "KaTonnCard",
target_fixed = true,
on_use = function(self, room, source, targets)
KaTonnNoJuTsu(room, source)
room:setPlayerFlag(source, source:objectName().."KaTonn")
end
}
NRTKaTonn = sgs.CreateViewAsSkill{
name = "NRTKaTonn",
n = 1,
view_filter = function(self, selected, to_select)
return to_select:isKindOf("Slash") and (#selected == 0)
end,
view_as = function(self, cards)
local katonn_card = KaTonnCard:clone()
katonn_card:addSubcard(cards[1])
return katonn_card
end,
enabled_at_play = function(self, player)
return not player:hasUsed("#KaTonnCard")
end
}
NRTKaTonnSkill = sgs.CreateTriggerSkill{
name = "#NRTKaTonnSkill",
frequency = sgs.Skill_Compulsory,
events = {sgs.EventPhaseChanging},
on_trigger = function(self, event, player, data)
if data:toPhaseChange().to ~= sgs.Player_NotActive then return false end
if not player:hasFlag(player:objectName().."KaTonn") then return false end
local room = player:getRoom()
room:setPlayerFlag(player, "-"..player:objectName().."KaTonn")
local katonn = player:getTag(player:objectName().."NRTKaTonn"):toString():split("+")
local detach = {}
for _,sk in ipairs(katonn) do
table.insert(detach, "-"..sk)
end
if #detach > 0 then
room:handleAcquireDetachSkills(player, table.concat(detach, "|"))
end
room:removeTag(player:objectName().."NRTKaTonn")
end
}
extension:insertRelatedSkills("NRTKaTonn", "#NRTKaTonnSkill")
小弟实在不知哪里出错了,望各位大神指教。