不倒翁🥵 湖人总冠军233
关注数: 2 粉丝数: 88 发帖数: 497 关注贴吧数: 3
触发视为技果然很难啊,有没有大佬来帮我看一下我的问题在哪 我要实现的效果是:极略三国里神甄姬的神赋:当你失去手牌后,你可以将手牌补至三张,然后你可以弃置三张花色相同的手牌,对一名角色造成3点伤害。 我写的代码: luashenfu = sgs.CreateTriggerSkill{ name = "luashenfu", frequency = sgs.Skill_Frequent, events = {sgs.CardsMoveOneTime}, view_as_skill = luashenfuVS, on_trigger = function(self, event, player, data, room) local move = data:toMoveOneTime() if not move.from or not move.from:hasSkill(self:objectName()) or move.from:objectName() ~= player:objectName() or player:getHandcardNum()>=3 then return false end if not move.from_places:contains(sgs.Player_PlaceHand) then return false end if not player:askForSkillInvoke(self:objectName(),data) then return false end room:notifySkillInvoked(player,"luashenfu") room:broadcastSkillInvoke("luashenfu") player:drawCards(3 - player:getHandcardNum(), self:objectName()) --[[local target = room:askForPlayerChosen(player, room:getAlivePlayers(), self:objectName(), "luashenfu-invoke", true, true) room:damage(sgs.DamageStruct(self:objectName(), player, target,3))]] if room:askForUseCard(player, "@@luashenfu", "@luashen-card") then return true end return false end } luashenfuCard = sgs.CreateSkillCard{ name = "luashenfuCard", target_fixed = false, --需要指定一个目标 will_throw = true, filter = function(self, targets, to_select) return #targets == 0 end, on_effect = function(self, effect) local room = effect.to:getRoom() local source = effect.from local dest = effect.to room:damage(sgs.DamageStruct(self:objectName(),source,dest,3)) end } luashenfuVS = sgs.CreateViewAsSkill{ name = "luashenfu", n = 3, view_filter = function(self, selected, to_select) if #selected == 0 then return not to_select:isEquipped() elseif #selected >= 1 then local card = selected[1] if to_select:getSuit() == card:getSuit() then return not to_select:isEquipped() end else return false end end, view_as = function(self, cards) if #cards == 3 then local cardA = cards[1] local cardB = cards[2] local cardC = cards[3] local vs_card = luashenfuCard:clone() --飞升技能卡 vs_card:addSubcard(cards[1]) vs_card:addSubcard(cards[2]) vs_card:addSubcard(cards[3]) return vs_card end end, enabled_at_play = function(self, player) return false end, enabled_at_response = function(self, player , pattern) return pattern == "@@luashenfu" end , }
1 下一页