luaguicai_card=sgs.CreateSkillCard{
name="luaguicai_effect",
target_fixed=true,
will_throw=false,
}
luaguicaivs=sgs.CreateViewAsSkill{
name="luaguicaivs",
n=1,
view_filter=function(self, selected, to_select)
if not to_select:isEquipped() then return true
else return false end
end,
view_as=function(self, cards)
if #cards==1 then
local acard=luaguicai_card:clone()
acard:addSubcard(cards[1])
acard:setSkillName("luaguicai")
return acard end
end,
enabled_at_play=function()
return false
end,
enabled_at_response=function(self,pattern)
return pattern=="@@luaguicai"
end
}
luaguicai=sgs.CreateTriggerSkill{
name="luaguicai",
events=sgs.AskForRetrial,
view_as_skill=luaguicaivs
on_trigger=function(self,event,player,data)
local room=player:getRoom()
local old_simayi=room:findPlayerBySkillName(self:objectName())
local judge=data:toJudge()
old_simayi:setTag("Judge",data)
if (room:askForSkillInvoke(old_simayi,self:objectName())~=true) then return false end
local card=room:askForCard(old_simayi,"@@luaguicai","@luaguicai",data)
if card~=nil then
old_simayi:obtainCard(judge.card)
judge.card = sgs.Sanguosha:getCard(card:getEffectiveId())
room:moveCardTo(judge.card, nil, sgs.Player_Special)
local log=sgs.LogMessage()
log.type = "$ChangedJudge"
log.from = player
log.to:append(judge.who)
log.card_str = card:getEffectIdString()
room:sendLog(log)
room:sendJudgeResult(judge)
end
return false
end,
}