LuaNueshaBuff = sgs.CreateTriggerSkill{
name = "#LuaNueshaBuff",
frequency = sgs.Skill_Frequent,
events = {sgs.DamageCaused},
on_trigger = function(self, event, player, data)
local damage = data:toDamage()
if damage.chain or damage.transfer or (not damage.by_user) then return false end
local reason = damage.card
if reason and (reason:isNDTrick()) then
local log = sgs.LogMessage()
log.type = "#LuaNueshaBuff"
log.from = player
log.to:append(damage.to)
log.arg = tostring(damage.damage)
log.arg2 = tostring(damage.damage + 1)
room:sendLog(log)
damage.damage = damage.damage + 1
data:setValue(damage)
end
return false
end,
can_trigger = function(self, target)
return target and target:hasFlag("LuaNuesha") and target:isAlive()
end
}
LuaNuesha = sgs.CreateTriggerSkill{
name = "LuaNuesha",
frequency = sgs.Skill_NotFrequent,
events = {sgs.EventPhaseStart},
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local phase = player:getPhase()
if phase == sgs.Player_Play then
local count = player:getMark("@jian")
if count > 0 then
if room:askForSkillInvoke(player, self:objectName(), data) then
player:loseMark("@jian",1)
room:setPlayerFlag(player, "LuaNuesha")
end
end
end
end
}
name = "#LuaNueshaBuff",
frequency = sgs.Skill_Frequent,
events = {sgs.DamageCaused},
on_trigger = function(self, event, player, data)
local damage = data:toDamage()
if damage.chain or damage.transfer or (not damage.by_user) then return false end
local reason = damage.card
if reason and (reason:isNDTrick()) then
local log = sgs.LogMessage()
log.type = "#LuaNueshaBuff"
log.from = player
log.to:append(damage.to)
log.arg = tostring(damage.damage)
log.arg2 = tostring(damage.damage + 1)
room:sendLog(log)
damage.damage = damage.damage + 1
data:setValue(damage)
end
return false
end,
can_trigger = function(self, target)
return target and target:hasFlag("LuaNuesha") and target:isAlive()
end
}
LuaNuesha = sgs.CreateTriggerSkill{
name = "LuaNuesha",
frequency = sgs.Skill_NotFrequent,
events = {sgs.EventPhaseStart},
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local phase = player:getPhase()
if phase == sgs.Player_Play then
local count = player:getMark("@jian")
if count > 0 then
if room:askForSkillInvoke(player, self:objectName(), data) then
player:loseMark("@jian",1)
room:setPlayerFlag(player, "LuaNuesha")
end
end
end
end
}