b**iyouTG = sgs.CreateTriggerSkill{
name = "#b**iyouTG",
events = {sgs.AskForRetrial} ,
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local p = player
while 1 do
p = p:getNext()
if p:isAlive() then
return
elseif p:getGeneralName() == "bjshenxiaojie" or p:getGeneral2Name() == "bjshenxiaojie" then
local ids = p:handCards()
if ids:length() == 0 then return end
if room:askForSkillInvoke(p, self:objectName()) then
room:fillAG(ids,p)
local id = room:askForAG(p, ids, true, "bjshenxiaojie")
room:clearAG(p)
if id >= 0 then
local judge = data:toJudge()
room:retrial(sgs.Sanguosha:getCard(id), p, judge, self:objectName())
end
end
return
end
end
end,
can_trigger = function(self, target)
return target
end,
}
b**iyoubury = sgs.CreateTriggerSkill{
name = "b**iyoubury",
frequency = sgs.Skill_NotFrequent,
events = {sgs.CardsMoveOneTime},
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local shenxiaojietx = room:findPlayerBySkillName("b**iyou")
if shenxiaojietx then
room:detachSkillFromPlayer(shenxiaojietx, self:objectName())
return
end
local move = data:toMoveOneTime()
local p = player
shenxiaojietx = nil
if p:getGeneralName() == "bjshenxiaojie" or p:getGeneral2Name() == "bjshenxiaojie" then
shenxiaojietx = p
else
p = player:getNext()
while p:objectName() ~= player:objectName() do
if p:getGeneralName() == "bjshenxiaojie" or p:getGeneral2Name() == "bjshenxiaojie" then
shenxiaojietx = p
break
end
p = p:getNext()
end
end
if shenxiaojietx then
if move.from and move.from:objectName() == shenxiaojietx:objectName() then
if not (move.from_places:contains(sgs.Player_PlaceHand) or move.from_places:contains(sgs.Player_PlaceEquip) or move.from_places:contains(sgs.Player_PlaceDelayedTrick)) then
local moveA = sgs.CardsMoveStruct()
moveA.card_ids = move.card_ids
moveA.to_place = sgs.Player_PlaceHand
moveA.to = shenxiaojietx
room:moveCardsAtomic(moveA, true)
room:detachSkillFromPlayer(player, self:objectName())
end
end
end
end,
}
b**iyou = sgs.CreateTriggerSkill{
name = "b**iyou",
frequency = sgs.Skill_Frequent,
events = {sgs.Death},
on_trigger = function(self, event, player, data)
if player:isAlive() then return false end
local room = player:getRoom()
if room:askForSkillInvoke(player, self:objectName(), data) then
local all = player:getCards("he")
for _,card in sgs.qlist(all) do
player:addToPile("you", card:getId(), false)
end
local others = room:getAllPlayers()
for _,p in sgs.qlist(others) do
room:attachSkillToPlayer(p, "b**iyouTG")
end
room:attachSkillToPlayer(player:getNextAlive(), "b**iyoubury")
end
end,
can_trigger = function(self, target)
if target and target:hasSkill(self:objectName()) then
return not target:isNude()
end
return false
end
}
三个技能全都要给角色addSkill
我用的是1217
@AD唱歌黑化股份