LuaXiansheng = sgs.CreateTriggerSkill{
name = "LuaXiansheng",
events = {sgs.EventPhaseStart, sgs.CardUsed,sgs.EventPhaseEnd},
can_trigger = function(self, target)
return target and target:isAlive()
end,
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local splayer = room:findPlayerBySkillName(self:objectName())
if event == sgs.EventPhaseStart then
if player:getPhase() ~= sgs.Player_Play then return false end
if not splayer or splayer:objectName() == player:objectName() then return false end
if splayer:askForSkillInvoke(self:objectName()) then
slash = room:askForUseSlashTo(splayer, player, "LuaXiansheng-slash", false)
end
elseif event == sgs.CardUsed then
local room = player:getRoom()
local use = data:toCardUse()
if use.card:isKindOf("Slash") and use.card:getSkillName() == self:objectName() then
room:setFixedDistance(player, splayer, 1)
else
local damage = data:toDamage()
if damage.card:isKindOf("Slash") and damage.card:getSkillName() == self:objectName() then
room:setPlayerCardLimitation(player, "use,response", "Slash", true)
end
end
end
end
}