把触发技改成了触发视为技,在技能卡牌中执行私家牌堆的放置操作(用self)
避开askForExchange了,这样好像可以

CCDSS = sgs.CreateSkillCard {
name = "LuaDSS",
target_fixed = true,
on_use = function(self, room, source, targets)
source:addToPile("MS-DSS", self)
end,
}
VSDSS = sgs.CreateViewAsSkill {
name = "LuaDSS",
n = 1,
view_filter = function(self, selected, to_select)
return to_select:isKindOf("Weapon")
end,
view_as = function(self, cards)
if #cards == 0 then return end
local vs_card = CCDSS:clone()
vs_card:addSubcard(cards[1])
return vs_card
end,
response_pattern = "@@LuaDSS",
}
LuaDSS = sgs.CreateTriggerSkill {
name = "LuaDSS",
events = {sgs.EventPhaseStart},
frequency = sgs.Skill_Frequent,
view_as_skill = VSDSS,
on_trigger = function(self, event, player, data)
if event == sgs.EventPhaseStart and player:getPhase() == sgs.Player_Play then
local room = player:getRoom()
if room:askForSkillInvoke(player, self:objectName(), data) then
room:askForUseCard(player, "@@LuaDSS", "@DSS-card")
end
end
end,
}