Commit ada43cf1 authored by DailyShana's avatar DailyShana Committed by GitHub

add EFFECT_TYPE_TARGET (#1194)

parent 39f40a8c
...@@ -28,6 +28,12 @@ function c12117532.initial_effect(c) ...@@ -28,6 +28,12 @@ function c12117532.initial_effect(c)
e3:SetCondition(c12117532.atkcon) e3:SetCondition(c12117532.atkcon)
e3:SetOperation(c12117532.atkop) e3:SetOperation(c12117532.atkop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_UPDATE_ATTACK)
e4:SetRange(LOCATION_SZONE)
e4:SetValue(c12117532.atkval)
c:RegisterEffect(e4)
end end
function c12117532.filter(c) function c12117532.filter(c)
return c:IsFaceup() return c:IsFaceup()
...@@ -62,17 +68,9 @@ function c12117532.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,17 +68,9 @@ function c12117532.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
if tc then if tc then
local e1=Effect.CreateEffect(c) tc:RegisterFlagEffect(12117532,RESET_EVENT+RESETS_STANDARD,0,1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c12117532.rcon)
tc:RegisterEffect(e1,true)
end end
end end
function c12117532.rcon(e) function c12117532.atkval(e,c)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) return c:GetFlagEffect(12117532)*500
end end
...@@ -11,6 +11,13 @@ function c12503902.initial_effect(c) ...@@ -11,6 +11,13 @@ function c12503902.initial_effect(c)
e1:SetTarget(c12503902.target) e1:SetTarget(c12503902.target)
e1:SetOperation(c12503902.operation) e1:SetOperation(c12503902.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk up
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(500)
c:RegisterEffect(e2)
--Destroy --Destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
...@@ -47,15 +54,6 @@ function c12503902.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,15 +54,6 @@ function c12503902.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and c12503902.filter(tc) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and c12503902.filter(tc) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c12503902.rcon)
e1:SetValue(500)
tc:RegisterEffect(e1,true)
local g=Duel.GetMatchingGroup(c12503902.tfilter1,tp,LOCATION_SZONE,LOCATION_SZONE,nil,tc) local g=Duel.GetMatchingGroup(c12503902.tfilter1,tp,LOCATION_SZONE,LOCATION_SZONE,nil,tc)
if g:GetCount()>0 then if g:GetCount()>0 then
local sg,fid=g:GetMaxGroup(Card.GetFieldID) local sg,fid=g:GetMaxGroup(Card.GetFieldID)
...@@ -81,9 +79,6 @@ function c12503902.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,9 +79,6 @@ function c12503902.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c12503902.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c12503902.discon(e) function c12503902.discon(e)
return e:GetHandler():GetCardTargetCount()>0 return e:GetHandler():GetCardTargetCount()>0
end end
......
...@@ -36,6 +36,17 @@ function c17874674.initial_effect(c) ...@@ -36,6 +36,17 @@ function c17874674.initial_effect(c)
e4:SetCondition(c17874674.costcon) e4:SetCondition(c17874674.costcon)
e4:SetOperation(c17874674.costop) e4:SetOperation(c17874674.costop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--disable
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_DISABLE)
e5:SetRange(LOCATION_SZONE)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_TARGET)
e6:SetCode(EFFECT_DISABLE_EFFECT)
e6:SetRange(LOCATION_SZONE)
c:RegisterEffect(e6)
end end
function c17874674.condition(e,tp,eg,ep,ev,re,r,rp) function c17874674.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp return Duel.GetTurnPlayer()~=tp
...@@ -52,26 +63,8 @@ function c17874674.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,26 +63,8 @@ function c17874674.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then if tc and ((tc:IsFaceup() and not tc:IsDisabled()) or tc:IsType(TYPE_TRAPMONSTER)) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetCondition(c17874674.rcon)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e2:SetCondition(c17874674.rcon)
tc:RegisterEffect(e2)
end end
end end
function c17874674.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c17874674.ctarget(e,tp,eg,ep,ev,re,r,rp) function c17874674.ctarget(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
if tc then e:GetHandler():CancelCardTarget(tc) end if tc then e:GetHandler():CancelCardTarget(tc) end
......
...@@ -18,6 +18,16 @@ function c18807108.initial_effect(c) ...@@ -18,6 +18,16 @@ function c18807108.initial_effect(c)
e2:SetOperation(c18807108.desop) e2:SetOperation(c18807108.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
e1:SetLabelObject(e2) e1:SetLabelObject(e2)
--cannot change pos
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetRange(LOCATION_SZONE)
c:RegisterEffect(e3)
--cannot attack
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_ATTACK)
c:RegisterEffect(e4)
end end
function c18807108.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c18807108.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) end
...@@ -30,23 +40,8 @@ function c18807108.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -30,23 +40,8 @@ function c18807108.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
c:CreateRelation(tc,RESET_EVENT+RESETS_STANDARD)
e:GetLabelObject():SetLabelObject(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetCondition(c18807108.rcon)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
tc:RegisterEffect(e2,true)
end end
end end
function c18807108.rcon(e)
return not e:GetHandler():IsImmuneToEffect(e) and e:GetOwner():IsRelateToCard(e:GetHandler())
end
function c18807108.descon(e,tp,eg,ep,ev,re,r,rp) function c18807108.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
......
...@@ -17,6 +17,13 @@ function c19059929.initial_effect(c) ...@@ -17,6 +17,13 @@ function c19059929.initial_effect(c)
e2:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_BEASTWARRIOR)) e2:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_BEASTWARRIOR))
e2:SetValue(100) e2:SetValue(100)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot trigger
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_CANNOT_TRIGGER)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(1)
c:RegisterEffect(e3)
end end
function c19059929.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c19059929.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end
...@@ -37,17 +44,5 @@ function c19059929.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,17 +44,5 @@ function c19059929.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c19059929.rcon)
e1:SetValue(1)
tc:RegisterEffect(e1)
end end
end end
function c19059929.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
...@@ -20,6 +20,14 @@ function c21768554.initial_effect(c) ...@@ -20,6 +20,14 @@ function c21768554.initial_effect(c)
e2:SetCondition(c21768554.descon) e2:SetCondition(c21768554.descon)
e2:SetOperation(c21768554.desop) e2:SetOperation(c21768554.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--control
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_SET_CONTROL)
e3:SetRange(LOCATION_SZONE)
e3:SetTarget(c21768554.cttg)
e3:SetValue(c21768554.ctval)
c:RegisterEffect(e3)
end end
function c21768554.cfilter(c) function c21768554.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0xc) return c:IsFaceup() and c:IsSetCard(0xc)
...@@ -48,26 +56,16 @@ function c21768554.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,26 +56,16 @@ function c21768554.operation(e,tp,eg,ep,ev,re,r,rp)
while tc do while tc do
if tc:IsFaceup() and tc:GetCounter(0x100e)>0 and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:GetCounter(0x100e)>0 and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL)
e1:SetValue(c21768554.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c21768554.con)
tc:RegisterEffect(e1,true)
end end
tc=g:GetNext() tc=g:GetNext()
end end
c:RegisterFlagEffect(21768554,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) c:RegisterFlagEffect(21768554,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end end
function c21768554.con(e) function c21768554.cttg(e,c)
local c=e:GetOwner() return c:GetCounter(0x100e)>0
local h=e:GetHandler()
return c:IsHasCardTarget(h) and h:GetCounter(0x100e)>0 and not h:IsImmuneToEffect(e)
end end
function c21768554.ctval(e,c) function c21768554.ctval(e,c)
return e:GetOwnerPlayer() return e:GetHandlerPlayer()
end end
function c21768554.descon(e,tp,eg,ep,ev,re,r,rp) function c21768554.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(21768554)~=0 return e:GetHandler():GetFlagEffect(21768554)~=0
......
...@@ -24,6 +24,18 @@ function c22082163.initial_effect(c) ...@@ -24,6 +24,18 @@ function c22082163.initial_effect(c)
e3:SetCondition(c22082163.descon2) e3:SetCondition(c22082163.descon2)
e3:SetOperation(c22082163.desop2) e3:SetOperation(c22082163.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot change pos
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
--must attack
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_MUST_ATTACK)
e5:SetRange(LOCATION_SZONE)
c:RegisterEffect(e5)
end end
function c22082163.filter(c,e,tp) function c22082163.filter(c,e,tp)
return c:IsSetCard(0x4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -43,23 +55,8 @@ function c22082163.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,23 +55,8 @@ function c22082163.operation(e,tp,eg,ep,ev,re,r,rp)
and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c22082163.cpcon)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_MUST_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCondition(c22082163.cpcon)
tc:RegisterEffect(e2)
end end
end end
function c22082163.cpcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c22082163.desop(e,tp,eg,ep,ev,re,r,rp) function c22082163.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
if tc and tc:IsLocation(LOCATION_MZONE) then if tc and tc:IsLocation(LOCATION_MZONE) then
......
...@@ -24,6 +24,17 @@ function c22539270.initial_effect(c) ...@@ -24,6 +24,17 @@ function c22539270.initial_effect(c)
e3:SetCondition(c22539270.descon2) e3:SetCondition(c22539270.descon2)
e3:SetOperation(c22539270.desop2) e3:SetOperation(c22539270.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_DISABLE_EFFECT)
e5:SetRange(LOCATION_SZONE)
c:RegisterEffect(e5)
end end
function c22539270.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c22539270.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 end if chk==0 then return Duel.GetCurrentPhase()==PHASE_MAIN1 end
...@@ -49,19 +60,9 @@ end ...@@ -49,19 +60,9 @@ end
function c22539270.operation(e,tp,eg,ep,ev,re,r,rp) function c22539270.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)==0 then return end
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c) Duel.SpecialSummonComplete()
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end end
end end
function c22539270.desop(e,tp,eg,ep,ev,re,r,rp) function c22539270.desop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -25,6 +25,18 @@ function c23440062.initial_effect(c) ...@@ -25,6 +25,18 @@ function c23440062.initial_effect(c)
e3:SetCondition(c23440062.descon2) e3:SetCondition(c23440062.descon2)
e3:SetOperation(c23440062.desop2) e3:SetOperation(c23440062.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
--cannot attack
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_CANNOT_ATTACK)
e5:SetRange(LOCATION_SZONE)
c:RegisterEffect(e5)
end end
function c23440062.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c23440062.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,800) end if chk==0 then return Duel.CheckLPCost(tp,800) end
...@@ -46,20 +58,6 @@ function c23440062.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,20 +58,6 @@ function c23440062.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e2:SetRange(LOCATION_ONFIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
......
...@@ -25,6 +25,12 @@ function c23869735.initial_effect(c) ...@@ -25,6 +25,12 @@ function c23869735.initial_effect(c)
e3:SetCondition(c23869735.descon2) e3:SetCondition(c23869735.descon2)
e3:SetOperation(c23869735.desop2) e3:SetOperation(c23869735.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
end end
function c23869735.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c23869735.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
...@@ -48,19 +54,8 @@ function c23869735.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,19 +54,8 @@ function c23869735.operation(e,tp,eg,ep,ev,re,r,rp)
and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c23869735.rcon)
tc:RegisterEffect(e1,true)
end end
end end
function c23869735.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c23869735.desop(e,tp,eg,ep,ev,re,r,rp) function c23869735.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
if tc and tc:IsLocation(LOCATION_MZONE) then if tc and tc:IsLocation(LOCATION_MZONE) then
......
...@@ -12,11 +12,9 @@ function c25542642.initial_effect(c) ...@@ -12,11 +12,9 @@ function c25542642.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot attack/disable --cannot attack/disable
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_CANNOT_ATTACK) e3:SetCode(EFFECT_CANNOT_ATTACK)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e5=e3:Clone() local e5=e3:Clone()
e5:SetCode(EFFECT_DISABLE) e5:SetCode(EFFECT_DISABLE)
...@@ -27,7 +25,7 @@ function c25542642.initial_effect(c) ...@@ -27,7 +25,7 @@ function c25542642.initial_effect(c)
e4:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET) e4:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetValue(aux.ctg) e4:SetValue(c25542642.tgval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--destroy --destroy
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
...@@ -66,10 +64,11 @@ function c25542642.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,10 +64,11 @@ function c25542642.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
--workaround
Duel.AdjustInstantly(c)
end end
end end
function c25542642.tgval(e,c)
return e:GetHandler():IsHasCardTarget(c)
end
function c25542642.descon(e,tp,eg,ep,ev,re,r,rp) function c25542642.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
......
...@@ -13,11 +13,9 @@ function c29267084.initial_effect(c) ...@@ -13,11 +13,9 @@ function c29267084.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot attack, atk down --cannot attack, atk down
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_CANNOT_ATTACK) e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(aux.ctg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
......
...@@ -19,6 +19,18 @@ function c34815282.initial_effect(c) ...@@ -19,6 +19,18 @@ function c34815282.initial_effect(c)
e2:SetCondition(c34815282.descon) e2:SetCondition(c34815282.descon)
e2:SetOperation(c34815282.desop) e2:SetOperation(c34815282.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(-1000)
c:RegisterEffect(e3)
--level
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_LEVEL)
e4:SetValue(-1)
c:RegisterEffect(e4)
end end
function c34815282.condition(e,tp,eg,ep,ev,re,r,rp) function c34815282.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated() return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
...@@ -37,24 +49,8 @@ function c34815282.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,24 +49,8 @@ function c34815282.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
e1:SetCondition(c34815282.rcon)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_LEVEL)
e2:SetValue(-1)
tc:RegisterEffect(e2,true)
end end
end end
function c34815282.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c34815282.descon(e,tp,eg,ep,ev,re,r,rp) function c34815282.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
......
...@@ -17,6 +17,23 @@ function c36975314.initial_effect(c) ...@@ -17,6 +17,23 @@ function c36975314.initial_effect(c)
e2:SetCondition(c36975314.descon) e2:SetCondition(c36975314.descon)
e2:SetOperation(c36975314.desop) e2:SetOperation(c36975314.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--control
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_SET_CONTROL)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(c36975314.ctval)
c:RegisterEffect(e3)
--cannot attack, trigger
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetRange(LOCATION_SZONE)
e4:SetCondition(c36975314.effcon)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_TRIGGER)
c:RegisterEffect(e5)
end end
function c36975314.filter(c) function c36975314.filter(c)
return c:IsFaceup() and c:IsControlerCanBeChanged() return c:IsFaceup() and c:IsControlerCanBeChanged()
...@@ -33,36 +50,13 @@ function c36975314.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,36 +50,13 @@ function c36975314.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE+EFFECT_FLAG_SET_AVAILABLE)
e1:SetValue(c36975314.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetLabelObject(e)
e1:SetCondition(c36975314.con)
tc:RegisterEffect(e1,true)
--cannot attack, trigger
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.ctg)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_TRIGGER)
c:RegisterEffect(e3)
end end
end end
function c36975314.con(e) function c36975314.effcon(e)
local c=e:GetOwner() return e:GetHandler():GetFirstCardTarget():GetControler()==e:GetHandlerPlayer()
local h=e:GetHandler()
local te=e:GetLabelObject()
return c:IsHasCardTarget(h) and not h:IsImmuneToEffect(te)
end end
function c36975314.ctval(e,c) function c36975314.ctval(e,c)
return e:GetOwnerPlayer() return e:GetHandlerPlayer()
end end
function c36975314.descon(e,tp,eg,ep,ev,re,r,rp) function c36975314.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
......
...@@ -31,6 +31,28 @@ function c38296564.initial_effect(c) ...@@ -31,6 +31,28 @@ function c38296564.initial_effect(c)
e4:SetCondition(c38296564.descon2) e4:SetCondition(c38296564.descon2)
e4:SetOperation(c38296564.desop2) e4:SetOperation(c38296564.desop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--indes
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e5:SetRange(LOCATION_SZONE)
e5:SetValue(1)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e6:SetValue(c38296564.efilter)
c:RegisterEffect(e6)
--
local e7=e6:Clone()
e7:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e7:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e7:SetValue(c38296564.tgval)
c:RegisterEffect(e7)
--
local e8=e5:Clone()
e8:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e8:SetCondition(c38296564.acon)
c:RegisterEffect(e8)
end end
function c38296564.filter(c) function c38296564.filter(c)
return c:IsFaceup() and c:IsAttackPos() return c:IsFaceup() and c:IsAttackPos()
...@@ -46,42 +68,16 @@ function c38296564.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,42 +68,16 @@ function c38296564.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c38296564.rcon)
e1:SetValue(1)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(c38296564.efilter)
tc:RegisterEffect(e2,true)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE+EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(c38296564.tgval)
tc:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e4:SetCondition(c38296564.acon)
e4:SetLabel(tp)
tc:RegisterEffect(e4,true)
end end
end end
function c38296564.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c38296564.acon(e) function c38296564.acon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) and e:GetHandlerPlayer()==e:GetLabel() return e:GetHandlerPlayer()==e:GetFirstTarget():GetControler()
end end
function c38296564.efilter(e,re) function c38296564.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() return e:GetHandlerPlayer()~=re:GetOwnerPlayer()
end end
function c38296564.tgval(e,re,rp) function c38296564.tgval(e,re,rp)
return rp==1-e:GetOwnerPlayer() return rp==1-e:GetHandlerPlayer()
end end
function c38296564.checkop(e,tp,eg,ep,ev,re,r,rp) function c38296564.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then if e:GetHandler():IsDisabled() then
......
...@@ -32,6 +32,13 @@ function c3891471.initial_effect(c) ...@@ -32,6 +32,13 @@ function c3891471.initial_effect(c)
e4:SetTarget(c3891471.damtg) e4:SetTarget(c3891471.damtg)
e4:SetOperation(c3891471.damop) e4:SetOperation(c3891471.damop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--add type
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_ADD_TYPE)
e5:SetRange(LOCATION_SZONE)
e5:SetValue(TYPE_TUNER)
c:RegisterEffect(e5)
end end
function c3891471.filter(c,e,tp) function c3891471.filter(c,e,tp)
return c:IsRace(RACE_PSYCHO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsRace(RACE_PSYCHO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -50,14 +57,8 @@ function c3891471.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,14 +57,8 @@ function c3891471.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
local lv=tc:GetLevel() local lv=tc:GetLevel()
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(TYPE_TUNER)
tc:RegisterEffect(e1)
Duel.SpecialSummonComplete()
c:SetCardTarget(tc) c:SetCardTarget(tc)
Duel.SpecialSummonComplete()
c:RegisterFlagEffect(3891471,RESET_EVENT+0x17a0000,0,1,lv) c:RegisterFlagEffect(3891471,RESET_EVENT+0x17a0000,0,1,lv)
end end
end end
......
...@@ -31,6 +31,13 @@ function c39122311.initial_effect(c) ...@@ -31,6 +31,13 @@ function c39122311.initial_effect(c)
e4:SetCondition(c39122311.descon2) e4:SetCondition(c39122311.descon2)
e4:SetOperation(c39122311.desop2) e4:SetOperation(c39122311.desop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--change race
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_CHANGE_RACE)
e5:SetRange(LOCATION_SZONE)
e5:SetValue(RACE_WYRM)
c:RegisterEffect(e5)
end end
function c39122311.filter(c,e,tp) function c39122311.filter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
...@@ -49,20 +56,9 @@ function c39122311.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,20 +56,9 @@ function c39122311.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e)
and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE) then and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(RACE_WYRM)
e1:SetCondition(c39122311.rcon)
tc:RegisterEffect(e1)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
function c39122311.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c39122311.checkop(e,tp,eg,ep,ev,re,r,rp) function c39122311.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then if e:GetHandler():IsDisabled() then
e:SetLabel(1) e:SetLabel(1)
......
...@@ -8,6 +8,13 @@ function c40736921.initial_effect(c) ...@@ -8,6 +8,13 @@ function c40736921.initial_effect(c)
e1:SetTarget(c40736921.target) e1:SetTarget(c40736921.target)
e1:SetOperation(c40736921.operation) e1:SetOperation(c40736921.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot trigger
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_CANNOT_TRIGGER)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(1)
c:RegisterEffect(e2)
end end
function c40736921.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c40736921.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end if chkc then return chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end
...@@ -23,17 +30,5 @@ function c40736921.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,17 +30,5 @@ function c40736921.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c40736921.rcon)
e1:SetValue(1)
tc:RegisterEffect(e1)
end end
end end
function c40736921.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
...@@ -11,15 +11,6 @@ function c42233477.initial_effect(c) ...@@ -11,15 +11,6 @@ function c42233477.initial_effect(c)
e1:SetTarget(c42233477.target) e1:SetTarget(c42233477.target)
e1:SetOperation(c42233477.activate) e1:SetOperation(c42233477.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
e3:SetValue(1000)
c:RegisterEffect(e3)
--destroy --destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
...@@ -28,6 +19,20 @@ function c42233477.initial_effect(c) ...@@ -28,6 +19,20 @@ function c42233477.initial_effect(c)
e2:SetCondition(c42233477.descon) e2:SetCondition(c42233477.descon)
e2:SetOperation(c42233477.desop) e2:SetOperation(c42233477.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(1000)
c:RegisterEffect(e3)
--redirect
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_BATTLE_DESTROY_REDIRECT)
e4:SetRange(LOCATION_SZONE)
e4:SetValue(LOCATION_HAND)
c:RegisterEffect(e4)
end end
function c42233477.condition(e,tp,eg,ep,ev,re,r,rp) function c42233477.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated() return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
...@@ -46,19 +51,8 @@ function c42233477.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,19 +51,8 @@ function c42233477.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_BATTLE_DESTROY_REDIRECT)
e2:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e2:SetCondition(c42233477.rcon)
e2:SetValue(LOCATION_HAND)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2,true)
end end
end end
function c42233477.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c42233477.descon(e,tp,eg,ep,ev,re,r,rp) function c42233477.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
return tc and eg:IsContains(tc) return tc and eg:IsContains(tc)
......
...@@ -11,11 +11,9 @@ function c42776855.initial_effect(c) ...@@ -11,11 +11,9 @@ function c42776855.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indes --indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone() local e4=e3:Clone()
......
...@@ -9,14 +9,19 @@ function c42899204.initial_effect(c) ...@@ -9,14 +9,19 @@ function c42899204.initial_effect(c)
e1:SetTarget(c42899204.target) e1:SetTarget(c42899204.target)
e1:SetOperation(c42899204.activate) e1:SetOperation(c42899204.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--control
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_SET_CONTROL)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(c42899204.ctval)
c:RegisterEffect(e2)
--setcode --setcode
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_ADD_SETCODE) e3:SetCode(EFFECT_ADD_SETCODE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetCondition(c42899204.setcon) e3:SetCondition(c42899204.setcon)
e3:SetTarget(aux.ctg)
e3:SetValue(0x129) e3:SetValue(0x129)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Destroy --Destroy
...@@ -48,29 +53,16 @@ function c42899204.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,29 +53,16 @@ function c42899204.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE+EFFECT_FLAG_SET_AVAILABLE)
e1:SetValue(c42899204.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetCondition(c42899204.con)
tc:RegisterEffect(e1,true)
end end
end end
function c42899204.con(e)
local c=e:GetOwner()
local h=e:GetHandler()
return c:IsHasCardTarget(h) and not h:IsImmuneToEffect(e)
end
function c42899204.ctval(e,c) function c42899204.ctval(e,c)
return e:GetOwnerPlayer() return e:GetHandlerPlayer()
end end
function c42899204.filter2(c) function c42899204.filter2(c)
return c:IsCode(44133040) and c:IsFaceup() return c:IsCode(44133040) and c:IsFaceup()
end end
function c42899204.setcon(e) function c42899204.setcon(e)
return Duel.IsExistingMatchingCard(c42899204.filter2,e:GetOwnerPlayer(),LOCATION_SZONE,0,1,nil) return Duel.IsExistingMatchingCard(c42899204.filter2,e:GetHandlerPlayer(),LOCATION_SZONE,0,1,nil)
end end
function c42899204.descon(e,tp,eg,ep,ev,re,r,rp) function c42899204.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -12,11 +12,9 @@ function c50078509.initial_effect(c) ...@@ -12,11 +12,9 @@ function c50078509.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable --disable
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_DISABLE) e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot attack --cannot attack
local e4=e3:Clone() local e4=e3:Clone()
...@@ -46,8 +44,6 @@ function c50078509.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,8 +44,6 @@ function c50078509.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
--workaround
Duel.AdjustInstantly(c)
end end
end end
function c50078509.descon(e,tp,eg,ep,ev,re,r,rp) function c50078509.descon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -10,12 +10,10 @@ function c54175023.initial_effect(c) ...@@ -10,12 +10,10 @@ function c54175023.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indes --indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetValue(1) e3:SetValue(1)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone() local e4=e3:Clone()
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
......
...@@ -12,11 +12,9 @@ function c54704216.initial_effect(c) ...@@ -12,11 +12,9 @@ function c54704216.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot attack --cannot attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_CANNOT_ATTACK) e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(aux.ctg)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--cannot change position --cannot change position
local e3=e2:Clone() local e3=e2:Clone()
......
...@@ -34,6 +34,14 @@ function c59258334.initial_effect(c) ...@@ -34,6 +34,14 @@ function c59258334.initial_effect(c)
e4:SetCondition(c59258334.rccon) e4:SetCondition(c59258334.rccon)
e4:SetOperation(c59258334.rcop) e4:SetOperation(c59258334.rcop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--control
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_TARGET)
e5:SetCode(EFFECT_SET_CONTROL)
e5:SetRange(LOCATION_SZONE)
e5:SetTarget(c59258334.cttg)
e5:SetValue(c59258334.ctval)
c:RegisterEffect(e5)
end end
function c59258334.filter(c) function c59258334.filter(c)
return c:GetCounter(0x100e)>0 and c:IsControlerCanBeChanged() return c:GetCounter(0x100e)>0 and c:IsControlerCanBeChanged()
...@@ -51,23 +59,13 @@ function c59258334.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,23 +59,13 @@ function c59258334.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:GetCounter(0x100e)>0 and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:GetCounter(0x100e)>0 and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL)
e1:SetValue(c59258334.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c59258334.con)
tc:RegisterEffect(e1,true)
end end
end end
function c59258334.con(e) function c59258334.cttg(e,c)
local c=e:GetOwner() return c:GetCounter(0x100e)>0
local h=e:GetHandler()
return c:IsHasCardTarget(h) and h:GetCounter(0x100e)>0 and not h:IsImmuneToEffect(e)
end end
function c59258334.ctval(e,c) function c59258334.ctval(e,c)
return e:GetOwnerPlayer() return e:GetHandlerPlayer()
end end
function c59258334.descon(e) function c59258334.descon(e)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -10,11 +10,9 @@ function c60162470.initial_effect(c) ...@@ -10,11 +10,9 @@ function c60162470.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atkup --atkup
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
e3:SetValue(c60162470.atkval1) e3:SetValue(c60162470.atkval1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--atkup --atkup
......
...@@ -24,6 +24,12 @@ function c60202749.initial_effect(c) ...@@ -24,6 +24,12 @@ function c60202749.initial_effect(c)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetOperation(c60202749.desop) e3:SetOperation(c60202749.desop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
end end
function c60202749.filter(c,e,tp) function c60202749.filter(c,e,tp)
return c:IsSetCard(0x74) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x74) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -58,19 +64,8 @@ function c60202749.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,19 +64,8 @@ function c60202749.operation(e,tp,eg,ep,ev,re,r,rp)
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c60202749.rcon)
tc:RegisterEffect(e1,true)
end end
end end
function c60202749.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c60202749.sdescon(e,tp,eg,ep,ev,re,r,rp) function c60202749.sdescon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and Duel.GetTurnCount()~=e:GetLabel() return Duel.GetTurnPlayer()~=tp and Duel.GetTurnCount()~=e:GetLabel()
end end
......
...@@ -13,11 +13,9 @@ function c61936647.initial_effect(c) ...@@ -13,11 +13,9 @@ function c61936647.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk up --atk up
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(aux.ctg)
e3:SetValue(800) e3:SetValue(800)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--destroy replace --destroy replace
...@@ -70,7 +68,7 @@ function c61936647.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,7 +68,7 @@ function c61936647.tgop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c61936647.repfilter(c,e) function c61936647.repfilter(c,e)
return aux.ctg(e,c) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE) return e:GetHandler():IsHasCardTarget(c) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and not c:IsReason(REASON_REPLACE)
end end
function c61936647.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function c61936647.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -17,6 +17,13 @@ function c63626024.initial_effect(c) ...@@ -17,6 +17,13 @@ function c63626024.initial_effect(c)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetOperation(c63626024.desop) e2:SetOperation(c63626024.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--add setcode
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_ADD_SETCODE)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(0x2b)
c:RegisterEffect(e3)
end end
function c63626024.cfilter(c) function c63626024.cfilter(c)
return c:IsSetCard(0x2b) return c:IsSetCard(0x2b)
...@@ -42,12 +49,6 @@ function c63626024.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,12 +49,6 @@ function c63626024.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_SETCODE)
e1:SetValue(0x2b)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
......
...@@ -17,6 +17,13 @@ function c70284332.initial_effect(c) ...@@ -17,6 +17,13 @@ function c70284332.initial_effect(c)
e2:SetCondition(c70284332.descon) e2:SetCondition(c70284332.descon)
e2:SetOperation(c70284332.desop) e2:SetOperation(c70284332.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--control
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_SET_CONTROL)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(c70284332.ctval)
c:RegisterEffect(e3)
end end
function c70284332.filter(c,e,tp) function c70284332.filter(c,e,tp)
return c:IsFaceup() and c:IsControler(tp) and c:IsType(TYPE_SYNCHRO) and c:IsCanBeEffectTarget(e) and c:IsControlerCanBeChanged() return c:IsFaceup() and c:IsControler(tp) and c:IsType(TYPE_SYNCHRO) and c:IsCanBeEffectTarget(e) and c:IsControlerCanBeChanged()
...@@ -34,14 +41,6 @@ function c70284332.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,14 +41,6 @@ function c70284332.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_CONTROL)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetValue(c70284332.ctval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c70284332.con)
tc:RegisterEffect(e1,true)
--redirect --redirect
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
...@@ -52,13 +51,8 @@ function c70284332.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,13 +51,8 @@ function c70284332.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
end end
function c70284332.con(e)
local c=e:GetOwner()
local h=e:GetHandler()
return c:IsHasCardTarget(h) and not h:IsImmuneToEffect(e)
end
function c70284332.ctval(e,c) function c70284332.ctval(e,c)
return e:GetOwnerPlayer() return e:GetHandlerPlayer()
end end
function c70284332.dircon(e) function c70284332.dircon(e)
return e:GetHandler():IsReason(REASON_DESTROY) return e:GetHandler():IsReason(REASON_DESTROY)
......
...@@ -14,6 +14,13 @@ function c76067258.initial_effect(c) ...@@ -14,6 +14,13 @@ function c76067258.initial_effect(c)
e1:SetTarget(c76067258.target) e1:SetTarget(c76067258.target)
e1:SetOperation(c76067258.operation) e1:SetOperation(c76067258.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1)
c:RegisterEffect(e2)
--desrep --desrep
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
...@@ -41,23 +48,12 @@ end ...@@ -41,23 +48,12 @@ end
function c76067258.operation(e,tp,eg,ep,ev,re,r,rp) function c76067258.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsFaceup() and c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if c:IsFaceup() and c:IsRelateToEffect(e) and tc:IsRelateToEffect(e)
and not tc:IsImmuneToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
tc:RegisterFlagEffect(76067258,RESET_EVENT+RESETS_STANDARD,0,0) tc:RegisterFlagEffect(76067258,RESET_EVENT+RESETS_STANDARD,0,0)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_OWNER_RELATE)
e2:SetCondition(c76067258.indcon)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
end end
end end
function c76067258.indcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c76067258.repfilter(c,tp) function c76067258.repfilter(c,tp)
return c:IsControler(tp) and c:GetFlagEffect(76067258)~=0 return c:IsControler(tp) and c:GetFlagEffect(76067258)~=0
end end
......
...@@ -9,6 +9,13 @@ function c76515293.initial_effect(c) ...@@ -9,6 +9,13 @@ function c76515293.initial_effect(c)
e1:SetTarget(c76515293.target) e1:SetTarget(c76515293.target)
e1:SetOperation(c76515293.operation) e1:SetOperation(c76515293.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot trigger
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_CANNOT_TRIGGER)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(1)
c:RegisterEffect(e2)
end end
function c76515293.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c76515293.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end if chkc then return chkc:IsLocation(LOCATION_SZONE) and chkc:IsFacedown() end
...@@ -23,18 +30,7 @@ function c76515293.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,18 +30,7 @@ function c76515293.operation(e,tp,eg,ep,ev,re,r,rp)
while tc do while tc do
if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c76515293.rcon)
e1:SetValue(1)
tc:RegisterEffect(e1)
end end
tc=g:GetNext() tc=g:GetNext()
end end
end end
function c76515293.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
...@@ -26,12 +26,9 @@ function c79698395.initial_effect(c) ...@@ -26,12 +26,9 @@ function c79698395.initial_effect(c)
e3:SetOperation(c79698395.effop) e3:SetOperation(c79698395.effop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DIRECT_ATTACK) e4:SetCode(EFFECT_DIRECT_ATTACK)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetTarget(c79698395.tgtg)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e4:Clone() local e5=e4:Clone()
e5:SetCode(EFFECT_IGNORE_BATTLE_TARGET) e5:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
...@@ -56,6 +53,3 @@ function c79698395.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,6 +53,3 @@ function c79698395.effop(e,tp,eg,ep,ev,re,r,rp)
c:SetCardTarget(tc) c:SetCardTarget(tc)
end end
end end
function c79698395.tgtg(e,c)
return e:GetHandler():IsHasCardTarget(c)
end
...@@ -8,6 +8,18 @@ function c82452993.initial_effect(c) ...@@ -8,6 +8,18 @@ function c82452993.initial_effect(c)
e1:SetTarget(c82452993.target) e1:SetTarget(c82452993.target)
e1:SetOperation(c82452993.operation) e1:SetOperation(c82452993.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(1)
c:RegisterEffect(e2)
--immune
local e3=e2:Clone()
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetValue(c82452993.efilter)
c:RegisterEffect(e3)
end end
function c82452993.filter(c) function c82452993.filter(c)
return c:IsFaceup() and c:IsCode(8508055,3810071,49814180) return c:IsFaceup() and c:IsCode(8508055,3810071,49814180)
...@@ -23,24 +35,8 @@ function c82452993.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,24 +35,8 @@ function c82452993.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetCondition(c82452993.rcon)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c82452993.efilter)
tc:RegisterEffect(e2,true)
end end
end end
function c82452993.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c82452993.efilter(e,re) function c82452993.efilter(e,re)
return re:IsActiveType(TYPE_MONSTER) and re:GetOwnerPlayer()~=e:GetOwnerPlayer() return re:IsActiveType(TYPE_MONSTER) and re:GetOwnerPlayer()~=e:GetHandlerPlayer()
end end
...@@ -18,6 +18,20 @@ function c84298614.initial_effect(c) ...@@ -18,6 +18,20 @@ function c84298614.initial_effect(c)
e2:SetCondition(c84298614.descon) e2:SetCondition(c84298614.descon)
e2:SetOperation(c84298614.desop) e2:SetOperation(c84298614.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--update atk/def/level
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE)
e3:SetValue(100)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_UPDATE_LEVEL)
e5:SetValue(1)
c:RegisterEffect(e5)
end end
function c84298614.filter(c,e,tp) function c84298614.filter(c,e,tp)
return c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -37,26 +51,8 @@ function c84298614.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,26 +51,8 @@ function c84298614.operation(e,tp,eg,ep,ev,re,r,rp)
and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(100)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c84298614.rcon)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
tc:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EFFECT_UPDATE_LEVEL)
e3:SetValue(1)
tc:RegisterEffect(e3)
end end
end end
function c84298614.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) and not e:GetHandler():IsImmuneToEffect(e)
end
function c84298614.descon(e,tp,eg,ep,ev,re,r,rp) function c84298614.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY) return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY)
......
...@@ -19,11 +19,17 @@ function c88069166.initial_effect(c) ...@@ -19,11 +19,17 @@ function c88069166.initial_effect(c)
--cancel target --cancel target
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_END) e3:SetCode(EVENT_TURN_END)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetOperation(c88069166.ctarget) e3:SetOperation(c88069166.ctarget)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
end end
function c88069166.filter(c) function c88069166.filter(c)
return c:IsFaceup() and c:IsSetCard(0x4b) return c:IsFaceup() and c:IsSetCard(0x4b)
...@@ -43,15 +49,6 @@ function c88069166.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,15 +49,6 @@ function c88069166.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc and c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetCondition(c88069166.rcon)
tc:RegisterEffect(e1)
local g1=Duel.GetFieldGroup(tp,0,LOCATION_HAND) local g1=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local g2=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_ONFIELD,nil) local g2=Duel.GetMatchingGroup(Card.IsFacedown,tp,0,LOCATION_ONFIELD,nil)
g1:Merge(g2) g1:Merge(g2)
...@@ -59,9 +56,6 @@ function c88069166.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,9 +56,6 @@ function c88069166.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleHand(1-tp) Duel.ShuffleHand(1-tp)
end end
end end
function c88069166.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c88069166.ctarget(e,tp,eg,ep,ev,re,r,rp) function c88069166.ctarget(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget() local tc=e:GetHandler():GetFirstCardTarget()
if tc then e:GetHandler():CancelCardTarget(tc) end if tc then e:GetHandler():CancelCardTarget(tc) end
......
...@@ -61,18 +61,14 @@ function c89516305.stop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,18 +61,14 @@ function c89516305.stop(e,tp,eg,ep,ev,re,r,rp)
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc) e:SetLabelObject(tc)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_TARGET)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_TRIGGER) e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c89516305.rcon) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(1) e1:SetValue(1)
tc:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c89516305.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c89516305.setfilter(c) function c89516305.setfilter(c)
return c:IsFaceup() and c:IsRace(RACE_PLANT) and c:IsCanTurnSet() return c:IsFaceup() and c:IsRace(RACE_PLANT) and c:IsCanTurnSet()
end end
......
...@@ -8,6 +8,13 @@ function c89628781.initial_effect(c) ...@@ -8,6 +8,13 @@ function c89628781.initial_effect(c)
e1:SetTarget(c89628781.target) e1:SetTarget(c89628781.target)
e1:SetOperation(c89628781.operation) e1:SetOperation(c89628781.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_TARGET)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(1)
c:RegisterEffect(e2)
end end
function c89628781.filter(c) function c89628781.filter(c)
return c:IsFaceup() and c:IsSetCard(0x2b) return c:IsFaceup() and c:IsSetCard(0x2b)
...@@ -23,17 +30,5 @@ function c89628781.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -23,17 +30,5 @@ function c89628781.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_SZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetTarget(c89628781.indtg)
e1:SetValue(1)
c:RegisterEffect(e1)
end end
end end
function c89628781.indtg(e,c)
return e:GetHandler():GetFirstCardTarget()==c
end
\ No newline at end of file
...@@ -45,18 +45,14 @@ function c91895091.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,18 +45,14 @@ function c91895091.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFacedown() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_TARGET)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_TRIGGER) e1:SetCode(EFFECT_CANNOT_TRIGGER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c91895091.rcon) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(1) e1:SetValue(1)
tc:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c91895091.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c91895091.spcon(e,tp,eg,ep,ev,re,r,rp) function c91895091.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsRelateToBattle() and c:GetOverlayCount()>0 return c:IsRelateToBattle() and c:GetOverlayCount()>0
......
...@@ -27,6 +27,16 @@ function c94303232.initial_effect(c) ...@@ -27,6 +27,16 @@ function c94303232.initial_effect(c)
e3:SetOperation(c94303232.rmop) e3:SetOperation(c94303232.rmop)
e3:SetLabelObject(e1) e3:SetLabelObject(e1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e4:SetRange(LOCATION_SZONE)
e4:SetTarget(c94303232.efftg)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_ATTACK)
c:RegisterEffect(e5)
if not c94303232.global_check then if not c94303232.global_check then
c94303232.global_check=true c94303232.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
...@@ -71,22 +81,11 @@ function c94303232.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,22 +81,11 @@ function c94303232.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.Equip(tp,c,tc) and dc:IsRelateToEffect(e) then if Duel.Equip(tp,c,tc) and dc:IsRelateToEffect(e) then
tc:RegisterFlagEffect(94303233,RESET_EVENT+RESETS_STANDARD,0,1) tc:RegisterFlagEffect(94303233,RESET_EVENT+RESETS_STANDARD,0,1)
c:SetCardTarget(dc) c:SetCardTarget(dc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c94303232.rcon)
dc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
dc:RegisterEffect(e2,true)
end end
end end
end end
function c94303232.rcon(e) function c94303232.efftg(e,c)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) return c~=e:GetHandler():GetEquipTarget()
end end
function c94303232.rmcon(e,tp,eg,ep,ev,re,r,rp) function c94303232.rmcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -29,6 +29,16 @@ function c94933468.initial_effect(c) ...@@ -29,6 +29,16 @@ function c94933468.initial_effect(c)
e3:SetTarget(c94933468.decktg) e3:SetTarget(c94933468.decktg)
e3:SetOperation(c94933468.deckop) e3:SetOperation(c94933468.deckop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--disable
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_TARGET)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
--cannot attack
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_ATTACK)
c:RegisterEffect(e5)
end end
function c94933468.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c94933468.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local at=Duel.GetAttacker() local at=Duel.GetAttacker()
...@@ -42,22 +52,8 @@ function c94933468.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,22 +52,8 @@ function c94933468.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c94933468.rcon)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
tc:RegisterEffect(e2,true)
end end
end end
function c94933468.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c94933468.descon(e,tp,eg,ep,ev,re,r,rp) function c94933468.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
......
...@@ -16,6 +16,14 @@ function c96631852.initial_effect(c) ...@@ -16,6 +16,14 @@ function c96631852.initial_effect(c)
e2:SetCondition(c96631852.descon) e2:SetCondition(c96631852.descon)
e2:SetOperation(c96631852.desop) e2:SetOperation(c96631852.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--def up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_TARGET)
e3:SetCode(EFFECT_UPDATE_DEFENSE)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c96631852.defcon)
e3:SetValue(700)
c:RegisterEffect(e3)
end end
function c96631852.filter(c) function c96631852.filter(c)
return c:IsFaceup() and c:IsDefenseAbove(0) return c:IsFaceup() and c:IsDefenseAbove(0)
...@@ -31,20 +39,11 @@ function c96631852.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,20 +39,11 @@ function c96631852.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetCondition(c96631852.rcon)
e1:SetValue(700)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true)
end end
end end
function c96631852.rcon(e) function c96631852.defcon(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return e:GetOwner():IsHasCardTarget(e:GetHandler()) and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>=2 return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>=2
and not Duel.IsExistingMatchingCard(Card.IsAttackPos,tp,LOCATION_MZONE,0,1,nil) and not Duel.IsExistingMatchingCard(Card.IsAttackPos,tp,LOCATION_MZONE,0,1,nil)
end end
function c96631852.descon(e,tp,eg,ep,ev,re,r,rp) function c96631852.descon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -262,6 +262,7 @@ EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等) ...@@ -262,6 +262,7 @@ EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS =0x0800 --由事件觸發的輔助用效果/永續效果 EFFECT_TYPE_CONTINUOUS =0x0800 --由事件觸發的輔助用效果/永續效果
EFFECT_TYPE_XMATERIAL =0x1000 --作为超量素材时超量怪兽获得的效果(十二兽) EFFECT_TYPE_XMATERIAL =0x1000 --作为超量素材时超量怪兽获得的效果(十二兽)
EFFECT_TYPE_GRANT =0x2000 --使其他卡片获得效果(天气模样) EFFECT_TYPE_GRANT =0x2000 --使其他卡片获得效果(天气模样)
EFFECT_TYPE_TARGET =0x4000 --影响持续取的对象的效果(基本只用于魔陷)
--========== Flags ========== --效果的特殊性质 --========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的 EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数 EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数
...@@ -287,7 +288,7 @@ EFFECT_FLAG_SPSUM_PARAM =0x100000 --指定召喚/规则特殊召唤的位置和 ...@@ -287,7 +288,7 @@ EFFECT_FLAG_SPSUM_PARAM =0x100000 --指定召喚/规则特殊召唤的位置和
EFFECT_FLAG_REPEAT =0x200000 --神之化身的攻击力重复计算 EFFECT_FLAG_REPEAT =0x200000 --神之化身的攻击力重复计算
EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动一次”的效果 EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动一次”的效果
EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?) EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?)
EFFECT_FLAG_OWNER_RELATE =0x1000000 --持續成為對象 EFFECT_FLAG_OWNER_RELATE =0x1000000 --与效果owner关联的效果
EFFECT_FLAG_CANNOT_INACTIVATE =0x2000000 --發動不會被無效 EFFECT_FLAG_CANNOT_INACTIVATE =0x2000000 --發動不會被無效
EFFECT_FLAG_CLIENT_HINT =0x4000000 --客户端提示 EFFECT_FLAG_CLIENT_HINT =0x4000000 --客户端提示
EFFECT_FLAG_CONTINUOUS_TARGET =0x8000000 --建立持續對象的永續魔法、永續陷阱 EFFECT_FLAG_CONTINUOUS_TARGET =0x8000000 --建立持續對象的永續魔法、永續陷阱
......
...@@ -2420,10 +2420,6 @@ function Group.SelectSubGroupEach(g,tp,checks,cancelable,f,...) ...@@ -2420,10 +2420,6 @@ function Group.SelectSubGroupEach(g,tp,checks,cancelable,f,...)
return nil return nil
end end
end end
--target function of continuous trap with a card target
function Auxiliary.ctg(e,c)
return e:GetHandler():IsHasCardTarget(c)
end
--condition of "negate activation and banish" --condition of "negate activation and banish"
function Auxiliary.nbcon(tp,re) function Auxiliary.nbcon(tp,re)
local rc=re:GetHandler() local rc=re:GetHandler()
......
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