Commit dcd22cc4 authored by POLYMER's avatar POLYMER

fix

parent 876c91ab
......@@ -30,8 +30,7 @@ function c28315844.spcon(e,tp,eg,ep,ev,re,r,rp)
end
function c28315844.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
if chk==0 then return Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
......@@ -39,7 +38,7 @@ function c28315844.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c28315844.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
if c:IsRelateToEffect(e) and Duel.GetMZoneCount(tp)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>3000 then
......@@ -65,7 +64,6 @@ function c28315844.deop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
......
......@@ -30,8 +30,7 @@ function c28316051.spcon(e,tp,eg,ep,ev,re,r,rp)
end
function c28316051.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
if chk==0 then return Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
......@@ -39,7 +38,7 @@ function c28316051.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c28316051.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
if c:IsRelateToEffect(e) and Duel.GetMZoneCount(tp)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>3000 then
......@@ -70,7 +69,6 @@ function c28316051.tgop(e,tp,eg,ep,ev,re,r,rp)
local b1=Duel.IsExistingMatchingCard(c28316051.tgfilter,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.IsExistingMatchingCard(c28316051.refilter,tp,LOCATION_DECK,0,1,nil)
if Duel.GetLP(tp)<=3000 and (b1 or b2) and Duel.SelectYesNo(tp,aux.Stringid(28316051,2)) then
Duel.BreakEffect()
if b1 and (not b2 or Duel.SelectOption(tp,1191,1192)==0) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=Duel.SelectMatchingCard(tp,c28316051.tgfilter,tp,LOCATION_DECK,0,1,2,nil)
......
......@@ -30,8 +30,7 @@ function c28316149.spcon(e,tp,eg,ep,ev,re,r,rp)
end
function c28316149.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
if chk==0 then return Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
......@@ -39,7 +38,7 @@ function c28316149.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c28316149.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
if c:IsRelateToEffect(e) and Duel.GetMZoneCount(tp)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>3000 then
......@@ -68,7 +67,6 @@ function c28316149.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c28316149.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
......
......@@ -31,8 +31,7 @@ function c28316558.spcon(e,tp,eg,ep,ev,re,r,rp)
end
function c28316558.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
if chk==0 then return Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
......@@ -43,7 +42,7 @@ function c28316558.chkfilter(c)
end
function c28316558.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not c:IsRelateToEffect(e) then return end
if Duel.GetMZoneCount(tp)<=0 or not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(c28316558.chkfilter,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(28316558,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c28316558.chkfilter,tp,LOCATION_HAND,0,1,1,nil)
......@@ -77,7 +76,6 @@ function c28316558.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c28316558.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
......
......@@ -30,8 +30,7 @@ function c28317560.spcon(e,tp,eg,ep,ev,re,r,rp)
end
function c28317560.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
if chk==0 then return Duel.GetMZoneCount(tp)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
......@@ -39,7 +38,7 @@ function c28317560.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c28317560.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
if c:IsRelateToEffect(e) and Duel.GetMZoneCount(tp)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>3000 then
......@@ -68,7 +67,6 @@ function c28317560.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c28317560.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
......
......@@ -185,20 +185,20 @@ function VHisc_Dragonk.xyzsm(ce,ccode)
ce:RegisterEffect(e10)
end
--xyz
function VHisc_Dragonk.ovfilter(c,code)
return c:IsFaceup() and c:IsCode(code) and c:GetEquipGroup():IsExists(function(ec) return ec:IsSetCard(0xc327) end,1,nil)
function VHisc_Dragonk.ovfilter(c,code,og)
return c:IsFaceup() and c:IsCode(code) and c:GetEquipGroup():IsExists(function(ec) return ec:IsSetCard(0xc327) end,1,nil) and (not og or og:IsContains(c))
end
function VHisc_Dragonk.spcon(e,c)
function VHisc_Dragonk.spcon(e,c,og,min,max)
if c==nil then return true end
local tp=c:GetControler()
local code=e:GetLabel()
local id=e:GetHandler():GetOriginalCode()
return Duel.GetFlagEffect(tp,id)==0 and Duel.IsExistingMatchingCard(VHisc_Dragonk.ovfilter,tp,LOCATION_MZONE,0,1,nil,code)
return Duel.GetFlagEffect(tp,id)==0 and Duel.IsExistingMatchingCard(VHisc_Dragonk.ovfilter,tp,LOCATION_MZONE,0,1,nil,code,og)
end
function VHisc_Dragonk.spop(e,tp,eg,ep,ev,re,r,rp,c)
function VHisc_Dragonk.spop(e,tp,eg,ep,ev,re,r,rp,c,og,min,max)
local code=e:GetLabel()
local id=e:GetHandler():GetOriginalCode()
local g=Duel.SelectMatchingCard(tp,VHisc_Dragonk.ovfilter,tp,LOCATION_MZONE,0,1,1,nil,code)
local g=Duel.SelectMatchingCard(tp,VHisc_Dragonk.ovfilter,tp,LOCATION_MZONE,0,1,1,nil,code,og)
local mc=g:GetFirst()
local mg=mc:GetOverlayGroup()
local eqg=mc:GetEquipGroup()
......
......@@ -89,13 +89,13 @@ function s.spfilter(c,e,tp)
end
function s.sptarget(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function s.spoperation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -4,7 +4,7 @@ local cm=_G["c"..m]
function cm.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep2(c,c43990084.ffilter,2,99,true)
aux.AddFusionProcFunRep2(c,c43990084.ffilter,3,99,true)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -50,12 +50,13 @@ function c43990084.spfilter(c,e,tp)
return c:IsRace(RACE_ILLUSION) and c:IsType(TYPE_MONSTER) and ((not c:IsLocation(LOCATION_DECK) and c:IsAbleToDeck()) or (not c:IsLocation(LOCATION_MZONE) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not c:IsLocation(LOCATION_DECK) or Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>1)))
end
function c43990084.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and eg:FilterCount(c43990084.spfilter,e,tp) end
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and eg:FilterCount(c43990084.spfilter,e,tp)>0 end
Duel.SetTargetCard(eg:GetFirst())
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c43990084.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
if aux.NecroValleyNegateCheck(tc) then return end
if not tc:IsRelateToEffect(e) or aux.NecroValleyNegateCheck(tc) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not tc:IsAbleToDeck() or Duel.SelectOption(tp,aux.Stringid(43990084,2),1152)==1) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
else
......
......@@ -50,7 +50,6 @@ function cm.initial_effect(c)
e7:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e7:SetCode(EVENT_CHAINING)
e7:SetRange(LOCATION_MZONE)
e7:SetCountLimit(1)
e7:SetCondition(cm.negcon)
e7:SetCost(cm.negcost)
e7:SetTarget(cm.negtg)
......
......@@ -6,6 +6,7 @@ function c76029021.initial_effect(c)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetCountLimit(1,76029021)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCost(c76029021.incost)
e1:SetTarget(c76029021.intg)
e1:SetOperation(c76029021.inop)
......@@ -27,21 +28,26 @@ function c76029021.initial_effect(c)
end
c76029021.named_with_Kazimierz=true
function c76029021.ctfil(c)
return c.named_with_Kazimierz and c:IsReleasable() and Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_MZONE,0,1,c,RACE_BEASTWARRIOR+RACE_WINDBEAST)
return c.named_with_Kazimierz and c:IsReleasable() and Duel.IsExistingTarget(c76029021.tgfil,tp,LOCATION_MZONE,0,1,c)
end
function c76029021.tgfil(c)
return c:IsRace(RACE_BEASTWARRIOR+RACE_WINDBEAST) and c:IsFaceup()
end
function c76029021.incost(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c76029021.tgfil(chkc) end
if chk==0 then return Duel.IsExistingMatchingCard(c76029021.ctfil,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c76029021.ctfil,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c76029021.intg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return rp==1-tp end
if chk==0 then return rp==1-tp and Duel.IsExistingTarget(c76029021.tgfil,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c76029021.tgfil,tp,LOCATION_MZONE,0,1,1,nil)
end
function c76029021.inop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsRace,tp,LOCATION_MZONE,0,nil,RACE_BEASTWARRIOR+RACE_WINDBEAST)
if g:GetCount()>0 then
local tc=g:Select(tp,1,1,nil):GetFirst()
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
......
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