Commit 0b68dc20 authored by VanillaSalt's avatar VanillaSalt

fix

parent ae7aa6bf
--Twilight Stealth Commander - Nichirin
--黄昏の中忍-ニチリン
function c40945356.initial_effect(c)
--negate
local e1=Effect.CreateEffect(c)
......@@ -9,75 +9,84 @@ function c40945356.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetCost(c40945356.cost)
e1:SetTarget(c40945356.target1)
e1:SetOperation(c40945356.operation1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(40945356,1))
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,0x1c0)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(c40945356.condition)
e2:SetCondition(c40945356.condition2)
e2:SetCost(c40945356.cost)
e2:SetTarget(c40945356.target2)
e2:SetOperation(c40945356.operation2)
c:RegisterEffect(e2)
--add setcode
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_ADD_SETCODE)
e3:SetValue(0x2b)
c:RegisterEffect(e3)
end
function c40945356.cfilter1(c)
function c40945356.cfilter(c)
return c:IsSetCard(0x2b) and c:IsType(TYPE_MONSTER) and c:IsDiscardable()
end
function c40945356.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40945356.cfilter1,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g1=Duel.SelectMatchingCard(tp,c40945356.cfilter1,tp,LOCATION_HAND,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
Duel.SendtoGrave(g1,REASON_COST+REASON_DISCARD)
if chk==0 then return Duel.IsExistingMatchingCard(c40945356.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,c40945356.cfilter,1,1,REASON_COST+REASON_DISCARD)
end
function c40945356.afilter1(c)
return c:IsSetCard(0x2b) and c:IsType(TYPE_MONSTER)
function c40945356.indfilter(c)
return c:IsFaceup() and (c:IsSetCard(0x61) or (c:IsSetCard(0x2b) and c:IsType(TYPE_MONSTER)))
end
function c40945356.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
end
function c40945356.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(c40945356.afilter1,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c40945356.afilter1,tp,LOCATION_MZONE,0,1,1,nil)
function c40945356.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40945356.indfilter,tp,LOCATION_ONFIELD,0,1,nil) end
end
function c40945356.operation2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
e1:SetValue(1000)
tc:RegisterEffect(e1)
end
end
function c40945356.operation1(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetTarget(c40945356.filter3)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(c40945356.indtg)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetValue(1)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetTarget(c40945356.filter3)
e2:SetTargetRange(LOCATION_ONFILED,0)
e2:SetTargetRange(LOCATION_ONFIELD,0)
e2:SetTarget(c40945356.indtg)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetValue(1)
Duel.RegisterEffect(e2,tp)
end
function c40945356.filter3(e,c)
function c40945356.indtg(e,c)
return c:IsSetCard(0x61) or (c:IsSetCard(0x2b) and c:IsType(TYPE_MONSTER))
end
function c40945356.condition2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
end
function c40945356.filter(c)
return c:IsFaceup() and c:IsSetCard(0x2b)
end
function c40945356.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c40945356.filter,tp,LOCATION_MZONE,0,1,nil) end
end
function c40945356.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,c40945356.filter,tp,LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst()
if tc then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
e1:SetValue(1000)
tc:RegisterEffect(e1)
end
end
--Dinomist Rush
--ダイナミスト・ラッシュ
function c41554273.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -11,7 +11,7 @@ function c41554273.initial_effect(c)
c:RegisterEffect(e1)
end
function c41554273.spfilter(c,e,tp)
return c:IsSetCard(0x1e71) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0xd8) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c41554273.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......@@ -25,23 +25,23 @@ function c41554273.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=g:GetFirst()
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabelObject(tc)
e1:SetOperation(c41554273.desop)
e1:SetCondition(c41554273.descon)
Duel.RegisterEffect(e1,tp)
tc:RegisterFlagEffect(41554273,RESET_EVENT+0x1fe0000,0,1)
local e2=Effect.CreateEffect(tc)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c41554273.efilter)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
tc:RegisterEffect(e2)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetLabelObject(tc)
e1:SetCondition(c41554273.descon)
e1:SetOperation(c41554273.desop)
Duel.RegisterEffect(e1,tp)
tc:RegisterFlagEffect(41554273,RESET_EVENT+0x1fe0000,0,1)
local e2=Effect.CreateEffect(tc)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c41554273.efilter)
e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
tc:RegisterEffect(e2)
end
end
function c41554273.descon(e,tp,eg,ep,ev,re,r,rp)
......
--Score the Melodious Diva
--幻奏の音女スコア
function c41767843.initial_effect(c)
--atkdef 0
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(41767843,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c41767843.con)
e1:SetCost(c41767843.cos)
e1:SetOperation(c41767843.op)
e1:SetCondition(c41767843.condition)
e1:SetCost(c41767843.cost)
e1:SetOperation(c41767843.operation)
c:RegisterEffect(e1)
end
function c41767843.con(e,tp,eg,ep,ev,re,r,rp)
function c41767843.condition(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
return (a:GetControler()==tp and a:IsSetCard(0x9b) and a:IsRelateToBattle())
or (d and d:GetControler()==tp and d:IsSetCard(0x9b) and d:IsRelateToBattle())
if not d then return false end
if a:IsControler(1-tp) then a=d end
return a:IsSetCard(0x9b) and a:IsRelateToBattle()
end
function c41767843.cos(e,tp,eg,ep,ev,re,r,rp,chk)
function c41767843.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c41767843.op(e,tp,eg,ep,ev,re,r,rp,chk)
function c41767843.operation(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if not a:IsRelateToBattle() or not d:IsRelateToBattle() then return end
if a:IsControler(1-tp) then d=a end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
if a:GetControler()==tp then
e1:SetValue(0)
d:RegisterEffect(e1)
else
e1:SetValue(0)
a:RegisterEffect(e1)
end
e1:SetValue(0)
d:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENCE)
if a:GetControler()==tp then
e2:SetValue(0)
d:RegisterEffect(e2)
else
e2:SetValue(0)
a:RegisterEffect(e2)
end
end
\ No newline at end of file
d:RegisterEffect(e2)
end
--Destroyer Fusion
--破壊剣士融合
function c41940225.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -9,17 +9,17 @@ function c41940225.initial_effect(c)
e1:SetTarget(c41940225.target)
e1:SetOperation(c41940225.activate)
c:RegisterEffect(e1)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,419402252)
e1:SetCost(c41940225.cost)
e1:SetTarget(c41940225.sptg)
e1:SetOperation(c41940225.spop)
c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,41940226)
e2:SetCost(c41940225.thcost)
e2:SetTarget(c41940225.thtg)
e2:SetOperation(c41940225.thop)
c:RegisterEffect(e2)
end
function c41940225.filter0(c,tp)
return (c:IsControler(tp) or c:IsFaceup()) and c:IsCanBeFusionMaterial()
......@@ -28,7 +28,7 @@ function c41940225.filter1(c,e,tp)
return (c:IsControler(tp) or c:IsFaceup()) and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end
function c41940225.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (c:GetCode()==98502113 or c:GetCode()==86240887) and (not f or f(c))
return (c:IsCode(98502113) or c:IsCode(86240887)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c41940225.target(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -82,16 +82,15 @@ function c41940225.activate(e,tp,eg,ep,ev,re,r,rp)
tc:CompleteProcedure()
end
end
function c41940225.cost(e,tp,eg,ep,ev,re,r,rp,chk)
function c41940225.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST)
end
function c41940225.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function c41940225.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c41940225.spop(e,tp,eg,ep,ev,re,r,rp)
function c41940225.thop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
end
......
--Performapal Trump Girl
--EMトランプ・ガール
function c42002073.initial_effect(c)
--pendulum summon
aux.AddPendulumProcedure(c)
......@@ -7,6 +7,7 @@ function c42002073.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
......@@ -15,12 +16,12 @@ function c42002073.initial_effect(c)
e2:SetTarget(c42002073.target)
e2:SetOperation(c42002073.operation)
c:RegisterEffect(e2)
--
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_SPECIAL_SUMMON)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_DESTROYED)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e6:SetCountLimit(1,10117149)
e6:SetCondition(c42002073.spcon)
e6:SetTarget(c42002073.sptg)
e6:SetOperation(c42002073.spop)
......
--Dragon's Bind
--追走の翼
function c42776855.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -30,9 +30,9 @@ function c42776855.filter(c)
return c:IsFaceup() and c:IsType(TYPE_SYNCHRO)
end
function c42776855.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c42776855.filter(chkc) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c42776855.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c42776855.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUPATTACK)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c42776855.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c42776855.operation(e,tp,eg,ep,ev,re,r,rp)
......@@ -54,30 +54,23 @@ function c42776855.operation(e,tp,eg,ep,ev,re,r,rp)
e2:SetValue(c42776855.efilter)
tc:RegisterEffect(e2,true)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(80485722,0))
e3:SetDescription(aux.Stringid(42776855,0))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetHintTiming(TIMING_DAMAGE_STEP)
e3:SetCode(EVENT_BATTLE_START)
e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c42776855.atkcon)
e3:SetOperation(c42776855.adesop)
e3:SetOperation(c42776855.atkop)
e3:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e3)
end
end
function c42776855.rcon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler())
end
function c42776855.acon(e)
return e:GetOwner():IsHasCardTarget(e:GetHandler()) and e:GetHandlerPlayer()==e:GetLabel()
end
function c42776855.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
function c42776855.tgval(e,re,rp)
return rp~=e:GetOwnerPlayer() and aux.tgval(e,re,rp)
end
function c42776855.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
......@@ -88,35 +81,25 @@ function c42776855.descon2(e,tp,eg,ep,ev,re,r,rp)
return tc and eg:IsContains(tc)
end
function c42776855.desop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(), REASON_EFFECT)
Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end
function c42776855.atkcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
local c=e:GetHandler()
local tc=c:GetFirstCardTarget()
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
local bc=tc:GetBattleTarget()
return ph==PHASE_DAMAGE and not c:IsStatus(STATUS_CHAINING)
and a:IsLocation(LOCATION_MZONE) and d:IsLocation(LOCATION_MZONE)
and (tc==a or tc==d) and bc:IsLevelAbove(5) and not Duel.IsDamageCalculated()
and e:GetHandler():GetFlagEffect(42776855)==0
return tc and tc:IsLocation(LOCATION_MZONE) and bc and bc:IsFaceup() and bc:IsLocation(LOCATION_MZONE) and bc:IsLevelAbove(5)
end
function c42776855.adesop(e,tp,eg,ep,ev,re,r,rp)
function c42776855.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=c:GetFirstCardTarget()
local bc=tc:GetBattleTarget()
local atk=bc:GetBaseAttack()
if bc:IsRelateToBattle() then
Duel.Destroy(bc,REASON_EFFECT)
if bc:IsLocation(LOCATION_GRAVE) and bc:IsType(TYPE_MONSTER) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+RESET_END)
tc:RegisterEffect(e1)
end
if bc:IsRelateToBattle() and Duel.Destroy(bc,REASON_EFFECT)~=0 and bc:IsType(TYPE_MONSTER) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0x1ff0000+RESET_PHASE+RESET_END)
tc:RegisterEffect(e1)
end
e:GetHandler():RegisterFlagEffect(42776855,RESET_PHASE+RESET_DAMAGE_CAL,0,1)
end
\ No newline at end of file
end
--Superheavy Great General Hisu-E
--超重輝将ヒス-E
function c42880485.initial_effect(c)
--pendulum summon
aux.AddPendulumProcedure(c)
......@@ -32,6 +32,7 @@ function c42880485.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e4:SetTarget(c42880485.postg)
e4:SetOperation(c42880485.posop)
c:RegisterEffect(e4)
local e5=e4:Clone()
......@@ -50,11 +51,19 @@ function c42880485.initial_effect(c)
local e7=e6:Clone()
e7:SetCode(EFFECT_SET_PROC)
c:RegisterEffect(e7)
--
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_DEFENCE_ATTACK)
e8:SetValue(1)
c:RegisterEffect(e8)
--add setcode
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_SINGLE)
e9:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e9:SetCode(EFFECT_ADD_SETCODE)
e9:SetValue(0x9a)
c:RegisterEffect(e9)
end
function c42880485.splimcon(e)
return not e:GetHandler():IsForbidden()
......@@ -63,10 +72,10 @@ function c42880485.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0x9a) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end
function c42880485.filter(c)
return c:IsSetCard(0x9a) and c:IsFaceup() and c:GetLevel()>0
return c:IsFaceup() and c:IsSetCard(0x9a) and c:GetLevel()>0
end
function c42880485.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c42880485.filter(chkc) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c42880485.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c42880485.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c42880485.filter,tp,LOCATION_MZONE,0,1,1,nil)
......@@ -83,14 +92,16 @@ function c42880485.lvop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e1)
end
end
function c42880485.postg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c42880485.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENCE,0,POS_FACEUP_ATTACK,0)
if c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENCE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
end
end
function c42880485.otfilter(c,tp)
return c:IsSetCard(0x9a) and (c:IsControler(tp) or c:IsFaceup())
end
......@@ -105,4 +116,4 @@ function c42880485.otop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg, REASON_SUMMON+REASON_MATERIAL)
end
\ No newline at end of file
end
--Shiranui Style: Sword of Swallow
--不知火流 燕の太刀
function c4333086.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -6,38 +6,40 @@ function c4333086.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,4333086)
e1:SetCountLimit(1,4333086+EFFECT_COUNT_CODE_OATH)
e1:SetHintTiming(0,0x1e0)
e1:SetCost(c4333086.cost)
e1:SetTarget(c4333086.target)
e1:SetOperation(c4333086.activate)
c:RegisterEffect(e1)
end
function c4333086.rfilter(c)
return c:IsRace(RACE_ZOMBIE) and Duel.IsExistingTarget(Card.IsDestructable,0,LOCATION_ONFIELD,LOCATION_ONFIELD,2,c)
end
function c4333086.filter(c)
return c:IsSetCard(0xd7) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
return c:IsSetCard(0xd9) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function c4333086.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(1)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsRace,1,nil,RACE_ZOMBIE) end
local g=Duel.SelectReleaseGroup(tp,Card.IsRace,1,1,nil,RACE_ZOMBIE)
if chk==0 then return Duel.CheckReleaseGroup(tp,c4333086.rfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c4333086.rfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c4333086.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then
if e:GetLabel()==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return false end
e:SetLabel(0)
return Duel.IsExistingTarget(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,nil)
and Duel.IsExistingMatchingCard(c4333086.filter,tp,LOCATION_DECK,0,1,nil) end
e:SetLabel(0)
if chkc then return chkc:IsOnField() and chkc:IsDestructable() end
if chk==0 then return Duel.IsExistingTarget(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,nil)
and Duel.IsExistingMatchingCard(c4333086.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
end
function c4333086.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToEffect,nil,e)
Duel.Destroy(sg,REASON_EFFECT)
local g2=Duel.SelectMatchingCard(tp,c4333086.filter,tp,LOCATION_DECK,0,1,1,nil)
local tg=g2:GetFirst()
if tg==nil then return end
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if Duel.Destroy(g,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=Duel.SelectMatchingCard(tp,c4333086.filter,tp,LOCATION_DECK,0,1,1,nil)
if rg:GetCount()>0 then
Duel.BreakEffect()
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end
end
end
--Twin Twister
--ツインツイスター
function c43898403.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......@@ -15,15 +15,17 @@ function c43898403.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
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c43898403.filter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable()
end
function c43898403.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsDestructable() and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(Card.IsDestructable,tp,LOCATION_SZONE,LOCATION_SZONE,1,e:GetHandler()) end
if chkc then return chkc:IsOnField() and c43898403.filter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(c43898403.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsDestructable,tp,LOCATION_SZONE,LOCATION_SZONE,1,2,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
local g=Duel.SelectTarget(tp,c43898403.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,2,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c43898403.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToEffect,nil,e)
Duel.Destroy(sg,REASON_EFFECT)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
Duel.Destroy(g,REASON_EFFECT)
end
--Performance Band Hurricane
--エンタメ・バンド・ハリケーン
function c46066477.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,46066477)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,46066477+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c46066477.target)
e1:SetOperation(c46066477.activate)
c:RegisterEffect(e1)
end
function c46066477.filter(c)
return c:IsAbleToHand()
end
function c46066477.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x9f)
end
function c46066477.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
local ct=Duel.GetMatchingGroupCount(c46066477.cfilter,tp,LOCATION_MZONE,0,nil)
e:SetLabel(ct)
return Duel.IsExistingMatchingCard(c46066477.filter,tp,0,LOCATION_ONFIELD,ct,c)
end
local ct=e:GetLabel()
local sg=Duel.GetMatchingGroup(c46066477.filter,tp,0,LOCATION_ONFIELD,c)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,sg,ct,0,0)
function c46066477.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToHand() end
if chk==0 then return Duel.IsExistingMatchingCard(c46066477.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingTarget(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil) end
local ct=Duel.GetMatchingGroupCount(c46066477.cfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,ct,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,g:GetCount(),0,0)
end
function c46066477.activate(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetMatchingGroupCount(c46066477.cfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c46066477.filter,tp,0,LOCATION_ONFIELD,e:GetHandler())
if g:GetCount()>=ct then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=g:Select(tp,1,ct,nil)
Duel.HintSelection(sg)
Duel.SendtoHand(sg,nil,REASON_EFFECT)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,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