游戏王YGOMobile超先行服脚本(自用)

闪刀姬-阿泽莉娅·节制

请添加图片描述
包含连接怪兽的怪兽2只以上
这张卡不用连接召唤不能从额外卡组特殊召唤。这个卡名的①的效果1回合只能使用1次。
①:这张卡特殊召唤的情况下,从自己的手牌·墓地将1张魔法卡除外,以对手场上的1只攻击力2500以下的怪兽作为对象才能发动。那只表侧表示怪兽作为装备魔法卡使用给这张卡装备。
②:这张卡被战斗破坏时才能发动。从自己的手牌·墓地将这张卡以外的1只「闪刀」怪兽特殊召唤。

--闪刀姬-阿泽莉娅·节制
function c28040000.initial_effect(c)
    c:EnableReviveLimit()   --苏生限制

    --link summon
	aux.AddLinkProcedure(c,nil,2,3,c28040000.lcheck)

	--spsummon condition
    --这张卡不用连接召唤不能从额外卡组特殊召唤
	local e0 = Effect.CreateEffect(c)
	e0:SetType(EFFECT_TYPE_SINGLE)
	e0:SetCode(EFFECT_SPSUMMON_CONDITION)
	e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
	e0:SetRange(LOCATION_EXTRA)
	e0:SetValue(aux.linklimit)
	c:RegisterEffect(e0)

    --equip
    local e1 = Effect.CreateEffect(c)
    e1:SetCategory(CATEGORY_EQUIP)  -- 装备效果
    e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)    -- 诱发选发效果
	e1:SetCode(EVENT_SPSUMMON_SUCCESS)  -- 特殊召唤成功时
    e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)   -- 取对象
    e1:SetCountLimit(1,28040000)  -- 卡名一回合一次
    e1:SetCost(c28040000.eqcost)  -- 支付Cost
    e1:SetTarget(c28040000.eqtg)  -- 取对象
    e1:SetOperation(c28040000.eqop) -- 效果处理
    c:RegisterEffect(e1)

    --special summon
	local e2=Effect.CreateEffect(c)
	e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
	e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
	e2:SetCode(EVENT_BATTLE_DESTROYED)
	e2:SetTarget(c28040000.sptg)
	e2:SetOperation(c28040000.spop)
	c:RegisterEffect(e2)
end

--包含连接怪兽的怪兽2只以上
function c28040000.lcheck(g,lc)
	return g:IsExists(Card.IsLinkType,1,nil,TYPE_LINK)
end

--对象是否为魔法卡
function c28040000.cfilter1(c)
	return c:IsType(TYPE_SPELL) and c:IsAbleToRemove()
end

-- 对象攻击力是否为2500以下
function c28040000.cfilter2(c)
	return c:IsFaceup() and c:IsAttackBelow(2500) and c:IsAbleToChangeControler()
end

--从自己的手牌·墓地将1张魔法卡除外
function c28040000.eqcost(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.IsExistingMatchingCard(c28040000.cfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil) end
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) -- 显示效果提示文字
	local g=Duel.SelectMatchingCard(tp,c28040000.cfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil)
	Duel.Remove(g,POS_FACEUP,REASON_COST)
end

-- 以2500攻击力以下的怪兽为对象
function c28040000.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
	if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsAbleToChangeControler() end
	if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and
        Duel.IsExistingTarget(c28040000.cfilter2,tp,0,LOCATION_MZONE,1,nil) end
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
	local g=Duel.SelectTarget(tp,c28040000.cfilter2,tp,0,LOCATION_MZONE,1,1,nil)
    Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0) -- 这是一个装备效果
end

-- 将对象作为装备卡装备
function c28040000.eqop(e,tp,eg,ep,ev,re,r,rp)
    local c=e:GetHandler()
	local tc=Duel.GetFirstTarget()
	if tc:IsRelateToEffect(e) and tc:IsType(TYPE_MONSTER) and tc:IsControler(1-tp) then
		c28040000.equip_monster(c,tp,tc)
	end
end

function c28040000.equip_monster(c,tp,tc)
	if c:IsLocation(LOCATION_MZONE) and c:IsFaceup() and not c28040000.can_equip_monster(c) then
		Duel.SendtoGrave(tc,REASON_RULE)
		return
	end
	if not Duel.Equip(tp,tc,c,false) then return end
	--Add Equip limit
	tc:RegisterFlagEffect(28040000,RESET_EVENT+RESETS_STANDARD,0,0)
	local e1=Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
	e1:SetCode(EFFECT_EQUIP_LIMIT)
	e1:SetReset(RESET_EVENT+RESETS_STANDARD)
	e1:SetValue(c28040000.eqlimit)
	tc:RegisterEffect(e1)
end

function c28040000.can_equip_monster(c)
	local g=c:GetEquipGroup():Filter(c28040000.eqfilter,nil)
	return g:GetCount()==0
end

function c28040000.eqfilter(c)
	return c:GetFlagEffect(28040000)~=0
end

function c28040000.eqlimit(e,c)
	return e:GetOwner()==c
end

function c28040000.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
		and Duel.IsExistingMatchingCard(c28040000.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
	Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end

function c28040000.spop(e,tp,eg,ep,ev,re,r,rp)
	if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
	local g=Duel.SelectMatchingCard(tp,c28040000.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
	if g:GetCount()>0 then
		Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
	end
end

-- 可苏生的闪刀怪兽
function c28040000.spfilter(c,e,tp)
	return c:IsSetCard(0x115) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end

未来之柱 基亚诺斯


这个卡名在规则上也当作「闪刀」卡使用。这个卡名的①②③的效果1回合各能使用1次。
①:从手卡丢弃1张魔法卡才能发动。这张卡从手卡特殊召唤。
②:这张卡召唤·特殊召唤的场合才能发动。从自己的卡组·墓地把1只「闪刀姬-露世」特殊召唤。这个回合,自己不是机械族怪兽不能从额外卡组特殊召唤。
③:把墓地的这张卡除外才能发动。选自己墓地·除外状态的1只「闪刀姬-露世」加入手卡或者特殊召唤。

--未来之柱 基亚诺斯
function c28040010.initial_effect(c)
    -- magic cost to special summon
	local e1=Effect.CreateEffect(c)
    e1:SetDescription(aux.Stringid(28040010,0))
	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
	e1:SetType(EFFECT_TYPE_IGNITION)
	e1:SetRange(LOCATION_HAND)
	e1:SetCountLimit(1,28040010)
	e1:SetCost(c28040010.cost_1)
	e1:SetTarget(c28040010.tg_1)
	e1:SetOperation(c28040010.op_1)
	c:RegisterEffect(e1)

    -- special summon in deck or gravy
    local e2=Effect.CreateEffect(c)
	e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
	e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
	e2:SetCode(EVENT_SUMMON_SUCCESS)
	e2:SetCountLimit(1,28040011)
	e2:SetProperty(EFFECT_FLAG_DELAY)
	e2:SetTarget(c28040010.tg_2)
	e2:SetOperation(c28040010.op_2)
	c:RegisterEffect(e2)
    local e3=e2:Clone()
	e3:SetCode(EVENT_SPSUMMON_SUCCESS)
	c:RegisterEffect(e3)

    -- to hand or spsummon
    local e4=Effect.CreateEffect(c)
    e4:SetDescription(aux.Stringid(28040010,1))
    e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_ACTION+CATEGORY_GRAVE_SPSUMMON)
	e4:SetType(EFFECT_TYPE_IGNITION)
	e4:SetRange(LOCATION_GRAVE)
    e4:SetCountLimit(1,28040012)
	e4:SetCost(aux.bfgcost)             -- 把自身除外的简单写法
    e4:SetTarget(c28040010.tg_4)
	e4:SetOperation(c28040010.op_4)
	c:RegisterEffect(e4)
end

-- 检查是否是可丢弃的魔法卡
function c28040010.costfilter_1(c)
	return c:IsType(TYPE_SPELL) and c:IsDiscardable()
end

-- 手牌丢弃一张魔法卡
function c28040010.cost_1(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.IsExistingMatchingCard(c28040010.costfilter_1,tp,LOCATION_HAND,0,1,e:GetHandler()) end
	Duel.DiscardHand(tp,c28040010.costfilter_1,1,1,REASON_COST+REASON_DISCARD)
end

-- 检查能否特招自身
function c28040010.tg_1(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
		and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
	Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end

-- 特招自身
function c28040010.op_1(e,tp,eg,ep,ev,re,r,rp)
	local c=e:GetHandler()
	if not c:IsRelateToEffect(e) then return end
	Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end

-- 检查是否是可特招的露世
function c28040010.spfilter_2(c,e,tp)
	return c:IsCode(37351133) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end

-- 检查是否是机械族额外
function c28040010.splimit(e,c)
	return c:IsLocation(LOCATION_EXTRA) and not c:IsRace(RACE_MACHINE)
end

-- 选择特招的露世
function c28040010.tg_2(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
		and Duel.IsExistingMatchingCard(c28040010.spfilter_2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
	Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end

-- 特招露世
function c28040010.op_2(e,tp,eg,ep,ev,re,r,rp)
	if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
	local g=Duel.SelectMatchingCard(tp,c28040010.spfilter_2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
	Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)

    -- 执行成功后进机械族额外自肃
    local e1=Effect.CreateEffect(e:GetHandler())
	e1:SetType(EFFECT_TYPE_FIELD)
	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)   -- 对玩家效果
	e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)    -- 不能特招
	e1:SetTargetRange(1,0)                      -- 仅对自身有效
	e1:SetTarget(c28040010.splimit)             -- 不能特招的类型
	e1:SetReset(RESET_PHASE+PHASE_END)          -- 直到回合结束
	Duel.RegisterEffect(e1,tp)                  -- 把该效果注册给玩家
end

-- 检查墓地或者除外区有无露世
function c28040010.tg_4(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.IsExistingMatchingCard(c28040010.spfilter_2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
end

-- 选择露世加入手卡或特招
function c28040010.op_4(e,tp,eg,ep,ev,re,r,rp)
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
	local g=Duel.SelectMatchingCard(tp,c28040010.spfilter_2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp)
	local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
	local tc=g:GetFirst()
	if tc then
        -- 加入手卡或特殊召唤
		if tc:IsAbleToHand() and (not tc:IsCanBeSpecialSummoned(e,0,tp,false,false) or ft<=0 or Duel.SelectOption(tp,1190,1152)==0) then
			Duel.SendtoHand(tc,nil,REASON_EFFECT)
			Duel.ConfirmCards(1-tp,tc)
		else
			Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
		end
	end
end

合体术式 交闪・零

请添加图片描述
光˙暗属性怪兽两只
此卡名规则上视为「闪刀姫」卡。我方一回合只能特殊召唤「合体术式 交闪・零」1次,此卡不能作为连接素材
①:此卡特殊召唤的场合,以场上攻击力2500以上怪兽1体为对象可以发动。该怪兽这回合效果无效
②:我方墓地有「闪刀姫-レイ」和「闪刀姫-ロゼ」存在的场合,此卡攻击的伤害步骤开始时可以发动。对方场上怪兽全部破坏

--合体术式 交闪・零
function c28040020.initial_effect(c)
    -- 设置一回合卡名一次特招
    c:SetSPSummonOnce(28040020)

    -- 连接召唤条件:光暗怪兽两只
	aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_LIGHT+ATTRIBUTE_DARK),2,2)
	c:EnableReviveLimit()

    -- 不能作为连接素材
	local e1=Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
	e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
	e1:SetValue(1)                                              -- 1代表对玩家效果
	c:RegisterEffect(e1)

    -- 特招成功取对象使其效果无效
    local e2 = Effect.CreateEffect(c)
    e2:SetCategory(CATEGORY_DISABLE)                            -- 使该效果无效效果
    e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)        -- 诱发选发效果
    e2:SetCode(EVENT_SPSUMMON_SUCCESS)                          -- 特殊召唤成功时
    e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)   -- 取对象效果
    e2:SetTarget(c28040020.tg_2)                                -- 取对象
    e2:SetOperation(c28040020.op_2)                             -- 效果处理
    c:RegisterEffect(e2)

    -- 攻宣雷击
    local e3 = Effect.CreateEffect(c)
    e3:SetCategory(CATEGORY_DESTROY)                            -- 破坏效果
    e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)        -- 诱发选发效果
    e3:SetCode(EVENT_BATTLE_START)                              -- 伤害步骤开始时
    e3:SetCondition(c28040020.con_3)                            -- 触发条件
    e3:SetTarget(c28040020.tg_3)                                -- 获得目标
    e3:SetOperation(c28040020.op_3)                             -- 效果处理
    c:RegisterEffect(e3)
end

-- 对象攻击力是否为2500以上且可以被无效
function c28040020.atkfilter(c)
	return c:IsDefenseAbove(2500) and aux.NegateEffectMonsterFilter(c)
end

-- 以2500攻击力以上的怪兽为对象
function c28040020.tg_2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
	if chkc then return chkc:IsLocation(LOCATION_MZONE) and c28040020.atkfilter(chkc) end
	if chk==0 then return Duel.IsExistingTarget(c28040020.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)    -- 请选择要无效的卡
	local g=Duel.SelectTarget(tp,c28040020.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
    Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) -- 这是一个效果无效效果
end

-- 使对象直到回合结束效果无效
function c28040020.op_2(e,tp,eg,ep,ev,re,r,rp)
	local c=e:GetHandler()  -- c是这张卡本身
	local tc=Duel.GetFirstTarget()  -- tc是这张卡取的效果对象
	if tc:IsFaceup() and tc:IsRelateToEffect(e) and tc:IsCanBeDisabledByEffect(e) then
        -- 无效目标对象的效果,里侧重置
		Duel.NegateRelatedChain(tc,RESET_TURN_SET)
		local e1=Effect.CreateEffect(c)
		e1:SetType(EFFECT_TYPE_SINGLE)
		e1:SetCode(EFFECT_DISABLE)
		e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
		tc:RegisterEffect(e1)
		local e2=Effect.CreateEffect(c)
		e2:SetType(EFFECT_TYPE_SINGLE)
		e2:SetCode(EFFECT_DISABLE_EFFECT)
		e2:SetValue(RESET_TURN_SET)
		e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
		tc:RegisterEffect(e2)
	end
end

-- 检查有无零一
function c28040020.monsterfilter_01(c)
	return c:IsCode(26077387)
end

-- 检查有无露世
function c28040020.monsterfilter_64(c)
	return c:IsCode(37351133)
end

-- 检查墓地有无对应卡片,以及是否是此卡进行的攻击
function c28040020.con_3(e,tp,eg,ep,ev,re,r,rp)
    return Duel.IsExistingMatchingCard(c28040020.monsterfilter_01,tp,LOCATION_GRAVE,0,1,nil)
        and Duel.IsExistingMatchingCard(c28040020.monsterfilter_64,tp,LOCATION_GRAVE,0,1,nil)
        and Duel.GetAttacker()==e:GetHandler()
end

-- 获得对手场上怪兽数量(至少一张才能发动)
function c28040020.tg_3(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
	local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
	Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end

-- 破坏对手场上所有怪兽
function c28040020.op_3(e,tp,eg,ep,ev,re,r,rp)
	local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
	Duel.Destroy(sg,REASON_EFFECT)
end

闪术兵器-斯佩克特拉

请添加图片描述
包含连接怪兽的怪兽2只以上
这个卡名在规则上也作为「闪刀姬」卡使用。这张卡不用连接召唤不能从额外卡组特殊召唤。这个卡名的①的效果1回合只能使用1次。
①:连锁2以上由对手将魔法·陷阱·怪兽的效果发动时,从自己的手牌·墓地将2张魔法卡除外才能发动。那个效果无效。那之后,可以将对手场上的1张卡破坏。
②:自己的墓地没有魔法卡存在的情况下,这张卡的攻击力下降3000。

--闪术兵器-斯佩克特拉
function c28040030.initial_effect(c)
    --苏生限制
    c:EnableReviveLimit()

    -- 包含连接怪兽的怪兽2只以上
	aux.AddLinkProcedure(c,nil,2,4,c28040030.lcheck)

    -- 这张卡不用连接召唤不能从额外卡组特殊召唤
	local e0 = Effect.CreateEffect(c)
	e0:SetType(EFFECT_TYPE_SINGLE)
	e0:SetCode(EFFECT_SPSUMMON_CONDITION)
	e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
	e0:SetRange(LOCATION_EXTRA)
	e0:SetValue(aux.linklimit)
	c:RegisterEffect(e0)

    -- 康连锁2以上效果并炸对手场上一卡
    local e1 = Effect.CreateEffect(c)
    e1:SetCategory(CATEGORY_DISABLE+CATEGORY_DESTROY)           -- 使效果无效效果+破坏效果
    e1:SetType(EFFECT_TYPE_QUICK_O)                             -- 诱发即时效果
    e1:SetCode(EVENT_CHAINING)                                  -- 效果发动时
    e1:SetRange(LOCATION_MZONE)                                 -- 怪兽区才能使用
    e1:SetCountLimit(1,28040030)                                -- 卡名一回合一次
    e1:SetCondition(c28040030.con_1)                            -- 触发条件
    e1:SetCost(c28040030.cost_1)                                -- 支付Cost
    e1:SetTarget(c28040030.tg_1)                                -- 获取对象
    e1:SetOperation(c28040030.op_1)                             -- 效果处理
    c:RegisterEffect(e1)

	-- 墓地没有魔法降3000攻击
	local e2=Effect.CreateEffect(c)
	e2:SetType(EFFECT_TYPE_SINGLE)
	e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
	e2:SetRange(LOCATION_MZONE)
	e2:SetCode(EFFECT_UPDATE_ATTACK)
	e2:SetCondition(c28040030.con_2)
	e2:SetValue(-3000)
	c:RegisterEffect(e2)
end

-- 是否包含连接怪兽
function c28040030.lcheck(g,lc)
	return g:IsExists(Card.IsLinkType,1,nil,TYPE_LINK)
end

-- 连锁2以上由对手发动魔,陷,怪兽效果时
function c28040030.con_1(e,tp,eg,ep,ev,re,r,rp)
	return rp==1-tp and Duel.GetCurrentChain()>=2
        and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end

--对象是否为可除外的魔法卡
function c28040030.magicfilter(c)
	return c:IsType(TYPE_SPELL) and c:IsAbleToRemove()
end

--从自己的手牌·墓地将2张魔法卡除外
function c28040030.cost_1(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return Duel.IsExistingMatchingCard(c28040030.magicfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,2,nil) end
	Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) -- 显示效果提示文字
	local g=Duel.SelectMatchingCard(tp,c28040030.magicfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,2,2,nil)
	Duel.Remove(g,POS_FACEUP,REASON_COST)
end

-- 无效目标效果
function c28040030.tg_1(e,tp,eg,ep,ev,re,r,rp,chk)
	if chk==0 then return true end
	Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end

function c28040030.op_1(e,tp,eg,ep,ev,re,r,rp)
    -- 那之后,可以选对手场上一张卡破坏
    local rc=re:GetHandler()
	if Duel.NegateEffect(ev) and Duel.SelectYesNo(tp,aux.Stringid(28040030,0)) then
        Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
        local sg=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD):Select(tp,1,1,nil)
        Duel.HintSelection(sg)
        Duel.BreakEffect()
        Duel.Destroy(sg,REASON_EFFECT)
    end
end

-- 墓地没有魔法卡时
function c28040030.con_2(e)
	return not (Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_SPELL) > 0)
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值