Commit df64895b authored by POLYMER's avatar POLYMER

fix

parent 91cf4b62
......@@ -2,19 +2,19 @@ function c10111181.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunFun(c,c10111181.f1filter,c10111181.f2filter,1,true)
aux.AddContactFusionProcedure(c,c10111181.cfilter,LOCATION_MZONE+LOCATION_GRAVE,0,aux.tdcfop(c))
--negate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(10111181,0))
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,10111181)
e1:SetCondition(c10111181.condition)
e1:SetTarget(c10111181.target)
e1:SetOperation(c10111181.operation)
c:RegisterEffect(e1)
--negate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(10111181,0))
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY+CATEGORY_RECOVER)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,10111181)
e1:SetCondition(c10111181.condition)
e1:SetTarget(c10111181.target)
e1:SetOperation(c10111181.operation)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(10111181,1))
......@@ -34,12 +34,19 @@ end
function c10111181.f2filter(c)
return c:IsSetCard(0x1185) and c:IsLevel(8)
end
function c10111181.cfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
-- 新增涂鸦兽字段检查函数
function c10111181.fieldfilter(c)
return c:IsSetCard(0x1185) and c:IsFaceup() and not c:IsCode(10111181)
end
-- 修改后的发动条件
function c10111181.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return rp==1-tp and re:IsActiveType(TYPE_MONSTER) and not c:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
local c=e:GetHandler()
return rp==1-tp
and re:IsActiveType(TYPE_MONSTER)
and Duel.IsExistingMatchingCard(c10111181.fieldfilter,tp,LOCATION_MZONE,0,1,nil) -- 新增字段检查
and not c:IsStatus(STATUS_BATTLE_DESTROYED)
and Duel.IsChainNegatable(ev)
end
function c10111181.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -42,7 +42,7 @@ function c75000801.initial_effect(c)
c:RegisterEffect(e3)
end
function c75000801.spfilter(c,e,tp)
return c:IsSetCard(0xc751) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0xca751) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c75000801.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......@@ -59,7 +59,7 @@ function c75000801.spop(e,tp,eg,ep,ev,re,r,rp)
end
--
function c75000801.filter(c)
return (c:IsSetCard(0x3751) and c:IsType(TYPE_MONSTER) or c:IsSetCard(0xc751) and c:IsType(TYPE_MONSTER)) and c:IsAbleToHand()
return (c:IsSetCard(0x3751) and c:IsType(TYPE_MONSTER) or c:IsSetCard(0xca751) and c:IsType(TYPE_MONSTER)) and c:IsAbleToHand()
end
function c75000801.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75000801.filter,tp,LOCATION_DECK,0,1,nil) end
......
......@@ -105,25 +105,24 @@ function c75075610.filter6(c,ft,tp)
return c:IsSetCard(0x5754)
and (ft>0 or (c:IsControler(tp) and c:GetSequence()<5)) and (c:IsControler(tp) or c:IsFaceup())
end
function c75075610.cost6(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c75075610.filter6,1,nil,ft,tp) end
local g=Duel.SelectReleaseGroup(tp,c75075610.filter6,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST)
function c75075610.filter66(c)
return c:IsFaceup() and c:IsAbleToRemove() and not c:IsAttack(c:GetBaseAttack())
end
function c75075610.tg6(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_ONFIELD)
if chk==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
return Duel.IsExistingMatchingCard(c75075610.filter66,tp,0,LOCATION_MZONE,1,nil)
end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_MZONE)
end
function c75075610.op6(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.Remove(sg,POS_FACEUP,REASON_EFFECT)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c75075610.filter66,tp,0,LOCATION_MZONE,1,1,nil)
if #g>0 then
Duel.HintSelection(g)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
-- 4
function c75075610.cost7(e,tp,eg,ep,ev,re,r,rp,chk)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment