Commit d14780a6 authored by DailyShana's avatar DailyShana

update

parent 35dea0ad
...@@ -7,25 +7,32 @@ function c16278116.initial_effect(c) ...@@ -7,25 +7,32 @@ function c16278116.initial_effect(c)
e1:SetHintTiming(0,0x1c0) e1:SetHintTiming(0,0x1c0)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c16278116.target) e1:SetTarget(c16278116.target)
e1:SetOperation(c16278116.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetCondition(c16278116.tgcon)
e2:SetTargetRange(1,1) e2:SetOperation(c16278116.tgop)
e2:SetTarget(c16278116.splimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Destroy --cannot spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetCondition(c16278116.descon) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetOperation(c16278116.desop) e3:SetTargetRange(1,1)
e3:SetTarget(c16278116.splimit)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Destroy
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_SZONE)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c16278116.descon)
e4:SetOperation(c16278116.desop)
c:RegisterEffect(e4)
end end
function c16278116.filter(c) function c16278116.filter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON) and c:IsAttackBelow(2500) and c:IsDefenceBelow(2500) return c:IsFaceup() and c:IsRace(RACE_DRAGON) and c:IsAttackBelow(2500) and c:IsDefenceBelow(2500)
...@@ -36,10 +43,13 @@ function c16278116.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -36,10 +43,13 @@ function c16278116.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c16278116.filter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c16278116.filter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c16278116.operation(e,tp,eg,ep,ev,re,r,rp) function c16278116.tgcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler()==e:GetHandler()
end
function c16278116.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS):GetFirst()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then if c:IsRelateToEffect(re) and tc:IsFaceup() and tc:IsRelateToEffect(re) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
end end
end end
......
...@@ -7,24 +7,54 @@ function c42776855.initial_effect(c) ...@@ -7,24 +7,54 @@ function c42776855.initial_effect(c)
e1:SetHintTiming(0,0x1e0) e1:SetHintTiming(0,0x1e0)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c42776855.target) e1:SetTarget(c42776855.target)
e1:SetOperation(c42776855.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EVENT_LEAVE_FIELD_P) e2:SetRange(LOCATION_SZONE)
e2:SetOperation(c42776855.checkop) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetCondition(c42776855.tgcon)
e2:SetOperation(c42776855.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Destroy2 --indes
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetTarget(c42776855.indestg)
e3:SetCondition(c42776855.descon2) e3:SetValue(1)
e3:SetOperation(c42776855.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e4:SetValue(c42776855.efilter)
c:RegisterEffect(e4)
--destroy
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(42776855,0))
e5:SetCategory(CATEGORY_DESTROY)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_BATTLE_START)
e5:SetRange(LOCATION_SZONE)
e5:SetCondition(c42776855.atkcon)
e5:SetOperation(c42776855.atkop)
c:RegisterEffect(e5)
--Destroy
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetCode(EVENT_LEAVE_FIELD_P)
e6:SetOperation(c42776855.checkop)
c:RegisterEffect(e6)
--Destroy2
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e7:SetRange(LOCATION_SZONE)
e7:SetCode(EVENT_LEAVE_FIELD)
e7:SetProperty(EFFECT_FLAG_DELAY)
e7:SetCondition(c42776855.descon2)
e7:SetOperation(c42776855.desop2)
c:RegisterEffect(e7)
end end
function c42776855.filter(c) function c42776855.filter(c)
return c:IsFaceup() and c:IsType(TYPE_SYNCHRO) return c:IsFaceup() and c:IsType(TYPE_SYNCHRO)
...@@ -35,55 +65,22 @@ function c42776855.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -35,55 +65,22 @@ function c42776855.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c42776855.filter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c42776855.filter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c42776855.operation(e,tp,eg,ep,ev,re,r,rp) function c42776855.tgcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler()==e:GetHandler()
end
function c42776855.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS):GetFirst()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(re) and tc:IsFaceup() and tc:IsRelateToEffect(re) 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+0x1fe0000)
e1:SetCondition(c42776855.rcon)
e1:SetValue(1)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(c42776855.efilter)
tc:RegisterEffect(e2,true)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(42776855,0))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_BATTLE_START)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c42776855.atkcon)
e3:SetTarget(c42776855.atktg)
e3:SetOperation(c42776855.atkop)
e3:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e3)
end end
end end
function c42776855.rcon(e) function c42776855.indestg(e,c)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) return e:GetHandler():IsHasCardTarget(c)
end end
function c42776855.efilter(e,re) function c42776855.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end end
function c42776855.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
else e:SetLabel(0) end
end
function c42776855.descon2(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget()
return tc and eg:IsContains(tc)
end
function c42776855.desop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
function c42776855.atkcon(e,tp,eg,ep,ev,re,r,rp) function c42776855.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetFirstCardTarget() local tc=c:GetFirstCardTarget()
...@@ -91,10 +88,6 @@ function c42776855.atkcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -91,10 +88,6 @@ function c42776855.atkcon(e,tp,eg,ep,ev,re,r,rp)
local bc=tc:GetBattleTarget() local bc=tc:GetBattleTarget()
return tc:IsLocation(LOCATION_MZONE) and bc and bc:IsFaceup() and bc:IsLocation(LOCATION_MZONE) and bc:IsLevelAbove(5) return tc:IsLocation(LOCATION_MZONE) and bc and bc:IsFaceup() and bc:IsLocation(LOCATION_MZONE) and bc:IsLevelAbove(5)
end end
function c42776855.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(42776855)==0 end
e:GetHandler():RegisterFlagEffect(42776855,RESET_CHAIN,0,1)
end
function c42776855.atkop(e,tp,eg,ep,ev,re,r,rp) function c42776855.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
...@@ -111,3 +104,15 @@ function c42776855.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -111,3 +104,15 @@ function c42776855.atkop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
end end
function c42776855.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
else e:SetLabel(0) end
end
function c42776855.descon2(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetFirstCardTarget()
return tc and eg:IsContains(tc)
end
function c42776855.desop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
...@@ -8,16 +8,35 @@ function c50078509.initial_effect(c) ...@@ -8,16 +8,35 @@ function c50078509.initial_effect(c)
e1:SetHintTiming(0,0x1c0) e1:SetHintTiming(0,0x1c0)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c50078509.target) e1:SetTarget(c50078509.target)
e1:SetOperation(c50078509.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetCondition(c50078509.descon) e2:SetCondition(c50078509.tgcon)
e2:SetOperation(c50078509.desop) e2:SetOperation(c50078509.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--disable
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(c50078509.distg)
c:RegisterEffect(e3)
--cannot attack
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_ATTACK)
c:RegisterEffect(e4)
--Destroy
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_SZONE)
e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetCondition(c50078509.descon)
e5:SetOperation(c50078509.desop)
c:RegisterEffect(e5)
end end
function c50078509.filter(c) function c50078509.filter(c)
return c:IsFaceup() and c:IsType(TYPE_EFFECT) return c:IsFaceup() and c:IsType(TYPE_EFFECT)
...@@ -29,26 +48,18 @@ function c50078509.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -29,26 +48,18 @@ function c50078509.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.SelectTarget(tp,c50078509.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c50078509.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end end
function c50078509.operation(e,tp,eg,ep,ev,re,r,rp) function c50078509.tgcon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler()==e:GetHandler()
end
function c50078509.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS):GetFirst()
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(re) and tc:IsFaceup() and tc:IsRelateToEffect(re) 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+0x1fe0000)
e1:SetCondition(c50078509.rcon)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
tc:RegisterEffect(e2,true)
end end
end end
function c50078509.rcon(e) function c50078509.distg(e,c)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) return e:GetHandler():IsHasCardTarget(c)
end end
function c50078509.descon(e,tp,eg,ep,ev,re,r,rp) function c50078509.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -57,5 +68,5 @@ function c50078509.descon(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,5 +68,5 @@ function c50078509.descon(e,tp,eg,ep,ev,re,r,rp)
return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY) return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY)
end end
function c50078509.desop(e,tp,eg,ep,ev,re,r,rp) function c50078509.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(), REASON_EFFECT) Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end end
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