Commit fd13134a authored by Huangnan's avatar Huangnan

fix

parent f6e2bc23
No preview for this file type
expansions/pics/12400114.jpg

100 KB | W: | H:

expansions/pics/12400114.jpg

249 KB | W: | H:

expansions/pics/12400114.jpg
expansions/pics/12400114.jpg
expansions/pics/12400114.jpg
expansions/pics/12400114.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -56,6 +56,7 @@ function s.op(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetOperation(s.thop)
Duel.RegisterEffect(e2,tp)
end
......
......@@ -44,18 +44,14 @@ function s.estg(e,c)
end
--
function s.filter1(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
return c:IsAbleToDeck()
end
function s.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then
if e:GetLabel()==0 then
return chkc:IsLocation(LOCATION_GRAVE) and s.filter1(chkc)
else
return true
end
if chkc then
return true
end
local b1= Duel.IsExistingTarget(s.filter1,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil)
if chk==0 then return b1 or b2 end
if chk==0 then return true end
local op=0
if b1 then
op=Duel.SelectOption(tp,aux.Stringid(id,1),aux.Stringid(id,2),aux.Stringid(id,3))
......@@ -73,7 +69,7 @@ function s.operation1(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,s.filter1,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
Duel.SendtoDeck(tg,nil,2,REASON_EFFECT)
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.Recover(tp,800,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
......@@ -94,7 +90,7 @@ function s.operation1(e,tp,eg,ep,ev,re,r,rp)
end
if e:GetLabel()==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local tg=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
local tg=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,nil)
local tc=tg:GetFirst()
if tc then
--extra attack
......@@ -106,11 +102,11 @@ function s.operation1(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
end
if e:GetLabel()==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local tg=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
local tg=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,nil)
local tc=tg:GetFirst()
if tc then
local e3=Effect.CreateEffect(c)
......@@ -118,12 +114,12 @@ function s.operation1(e,tp,eg,ep,ev,re,r,rp)
e3:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e3:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BATTLE_START)
e3:SetCode(EVENT_BATTLE_START)
e3:SetCondition(s.atkcon)
e3:SetOperation(s.atkop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e3)
end
end
end
end
function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -131,9 +127,8 @@ function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
end
function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
local dmg=c:GetAttack()
local g=Duel.GetMatchingGroup(nil,tp,0,LOCATION_MZONE,nil)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
local atk=tc:GetAttack()
......@@ -155,7 +150,6 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
end
tc=g:GetNext()
end
end
end
--
function s.con4(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -141,7 +141,7 @@ end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_GRAVE,0,1,4,nil)
if not tc then return end
if not tg then return end
if Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)~=0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
......@@ -18,7 +18,7 @@ function s.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e2:SetCondition(s.atkcon1)
e2:SetOperation(s.atkop)
c:RegisterEffect(e2)
......
......@@ -22,6 +22,7 @@ function s.initial_effect(c)
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(s.atktg)
e2:SetOperation(s.atkop)
e2:SetCountLimit(1,id+30000)
......@@ -44,8 +45,9 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function s.sptg(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_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp)
and Duel.GetMZoneCount(tp,c)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -4,8 +4,7 @@ function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetCountLimit(1,id)
e1:SetCondition(s.spcon1)
......@@ -63,9 +62,9 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.mobfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b2=Duel.GetLocationCount(tc:GetOwner(),LOCATION_SZONE)>0 and not tc:IsForbidden()
local b2=Duel.GetLocationCount(tc:GetOwner(),LOCATION_SZONE)>0
if tc then
local op=aux.SelectFromOptions(tp,{b1,1190},{b2,aux.Stringid(id,4)})
local op=aux.SelectFromOptions(tp,{b1,1118},{b2,aux.Stringid(id,4)})
if op==1 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
......@@ -103,6 +102,7 @@ function s.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
if #dg>0 then
Duel.HintSelection(dg)
Duel.Destroy(dg,REASON_EFFECT)
end
end
......
......@@ -78,9 +78,9 @@ function cm.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.e,tp,LOCATION_ONFIELD,0,1,nil)
end
function cm.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,4)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,LOCATION_GRAVE)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -88,19 +88,17 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.r(c,fc)
function cm.r(c)
return c:GetOriginalRace()==RACE_MACHINE and c:IsAbleToGraveAsCost()
and c:IsCanBeFusionMaterial(fc,SUMMON_TYPE_SPECIAL)
end
function cm.con3(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(cm.r,tp,LOCATION_HAND+LOCATION_MZONE,0,2,nil,c)
return Duel.IsExistingMatchingCard(cm.r,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil)
end
function cm.op3(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(3,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.r,tp,LOCATION_HAND+LOCATION_MZONE,0,2,2,nil)
e:GetHandler():SetMaterial(g)
Duel.SendtoGrave(g,REASON_COST)
g:DeleteGroup()
end
......
......@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON+CATEGORY_TODECK+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetCondition(cm.thcondition)
e1:SetTarget(cm.thtg)
e1:SetOperation(cm.thop)
c:RegisterEffect(e1)
--c:RegisterEffect(e1)
--hand summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
......@@ -29,7 +29,7 @@ function cm.initial_effect(c)
e2:SetCost(cm.effcost)
e2:SetTarget(cm.sumtg)
e2:SetOperation(cm.sumop)
--c:RegisterEffect(e2)
c:RegisterEffect(e2)
--give effect
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,2))
......
......@@ -8,7 +8,7 @@ function s.initial_effect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_TODECK+CATEGORY_TOGRAVE+CATEGORY_DESTROY)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,id)
e1:SetCountLimit(2,id)
e1:SetCondition(s.con)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
......
--祈星魔女 夏璃
local m=18700165
local cm=_G["c"..m]
Duel.LoadScript("1.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
aux.EnablePendulumAttribute(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1)
......@@ -62,7 +60,8 @@ function cm.initial_effect(c)
e7:SetDescription(aux.Stringid(m,3))
e7:SetType(EFFECT_TYPE_IGNITION)
e7:SetRange(LOCATION_EXTRA)
e7:SetCondition(cm.pencon2)
e7:SetCountLimit(1,m+2)
e7:SetCondition(cm.pencon)
e7:SetTarget(cm.pentg)
e7:SetOperation(cm.penop)
c:RegisterEffect(e7)
......@@ -80,17 +79,14 @@ function cm.initial_effect(c)
e12:SetCondition(cm.pencon)
c:RegisterEffect(e12)
end
function cm.cfilter1(c,tp)
return c:IsType(TYPE_SPELL)
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.IsExistingMatchingCard(cm.cfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,c,tp,Card.IsReleasable)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,c,tp)
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,2,nil)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,2,nil)
Duel.Release(g,REASON_SPSUMMON)
end
function cm.cfilter(c)
......@@ -107,11 +103,9 @@ function cm.thfilter(c)
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) and Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
local g1=Duel.GetMatchingGroup(cm.cfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,c,tp,Card.IsReleasable)
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(cm.cfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,c,tp,Card.IsReleasable)
local tc2=g1:SelectUnselect(nil,tp,false,true,1,1)
local tc2=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil)
if tc2 then
Duel.Release(tc2,REASON_RELEASE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
......@@ -149,10 +143,6 @@ function cm.aclimit(e,re,tp)
return re:GetHandler():IsType(TYPE_TRAP) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsFaceup()
end
function cm.repfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x824)
and c:IsOnField() and c:IsControler(tp) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
......@@ -167,15 +157,14 @@ end
function cm.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
function cm.pencon2(e,tp,eg,ep,ev,re,r,rp)
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsFaceup()
end
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) and (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) end
end
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
local g1=Duel.GetMatchingGroup(cm.cfilter1,tp,LOCATION_HAND+LOCATION_ONFIELD,0,c,tp,Card.IsReleasable)
local tc2=g1:SelectUnselect(nil,tp,false,true,1,1)
local tc2=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil)
if tc2 then
Duel.Release(tc2,REASON_RELEASE)
local c=e:GetHandler()
......
......@@ -32,7 +32,7 @@ end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_EXTRA)
if Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_SPELL)>=3 then
if Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_GRAVE,0,3,nil,TYPE_SPELL) then
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
end
......@@ -43,7 +43,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
if Duel.IsPlayerCanDraw(tp,1)
and Duel.GetMatchingGroupCount(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_SPELL)>=3
and Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_GRAVE,0,3,nil,TYPE_SPELL)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
......@@ -68,7 +68,8 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g2,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g2)
end
local g=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_HAND,0,c,tp,Card.IsReleasable)
local tc=g:SelectUnselect(nil,tp,false,true,1,1)
Duel.Release(tc,REASON_RELEASE)
local tc=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_HAND,0,1,1,nil)
if tc then
Duel.Release(tc,REASON_RELEASE)
end
end
......@@ -33,7 +33,7 @@ end
function s.target(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 Duel.IsPlayerCanSpecialSummonMonster(tp,id,0x602,TYPES_NORMAL_TRAP_MONSTER,1000,0,4,RACE_PSYCHO,ATTRIBUTE_EARTH) and e:IsCostChecked() end
and (Duel.IsPlayerCanSpecialSummonMonster(tp,id,0x602,TYPES_NORMAL_TRAP_MONSTER,1000,0,4,RACE_PSYCHO,ATTRIBUTE_EARTH) or Duel.IsPlayerCanSpecialSummonMonster(tp,id,0x605,TYPES_NORMAL_TRAP_MONSTER,1000,0,4,RACE_PSYCHO,ATTRIBUTE_EARTH)) and e:IsCostChecked() end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
......@@ -50,7 +50,7 @@ function s.xyzlimit(e,c)
end
function s.prop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or not c:IsLocation(LOCATION_ONFIELD) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not Duel.IsPlayerCanSpecialSummonMonster(tp,id,0x602,TYPES_NORMAL_TRAP_MONSTER,1000,0,4,RACE_PSYCHO,ATTRIBUTE_EARTH) then return end
if not c:IsRelateToEffect(e) or not c:IsLocation(LOCATION_ONFIELD) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not (Duel.IsPlayerCanSpecialSummonMonster(tp,id,0x602,TYPES_NORMAL_TRAP_MONSTER,1000,0,4,RACE_PSYCHO,ATTRIBUTE_EARTH) or Duel.IsPlayerCanSpecialSummonMonster(tp,id,0x605,TYPES_NORMAL_TRAP_MONSTER,1000,0,4,RACE_PSYCHO,ATTRIBUTE_EARTH)) then return end
c:AddMonsterAttribute(TYPE_NORMAL)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
Duel.SpecialSummonComplete()
......
......@@ -43,7 +43,7 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.SendtoGrave(g,REASON_EFFECT)>0 and not c:IsImmuneToEffect(e) then
local fe=c:GetFlagEffect(m)
local t=0
local t=0x0
t=bit.bor(t,bit.band(t:GetType(),TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP))
if fe<=0 then
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,t)
......
......@@ -103,7 +103,7 @@ function c50218137.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(p,d,REASON_EFFECT)
end
function c50218137.filter(c,e,tp)
return c:IsSetCard(0xcb1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0xcb1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsFaceupEx()
end
function c50218137.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
......
......@@ -48,7 +48,7 @@ function c50221200.recop(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(tp,rec,REASON_EFFECT)
end
function c50221200.filter(c)
return c:IsSetCard(0xcb1) and c:IsAbleToHand()
return c:IsSetCard(0xcb1) and c:IsAbleToHand() and c:IsFaceupEx()
end
function c50221200.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
......
......@@ -73,7 +73,7 @@ function c50224290.fuslimit(e,c,sumtype)
return sumtype&SUMMON_TYPE_FUSION==SUMMON_TYPE_FUSION
end
function c50224290.atcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_MZONE,0,1,nil,50224291)
return Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,50224291)
end
function c50224290.atlimit(e,c)
return not c:IsCode(50224291)
......
......@@ -51,7 +51,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
end
function s.gravefilter(c)
function s.gravefilter(e,c)
return not c:IsRace(RACE_ZOMBIE)
end
function s.thcon1(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -120,7 +120,7 @@ end
function s.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.atkfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.tgfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,s.atkfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil)
local tc=g:GetFirst()
Duel.SendtoGrave(tc,REASON_COST)
e:SetLabelObject(tc)
......
......@@ -71,7 +71,7 @@ function c60001168.wxop(e,tp,eg,ep,ev,re,r,rp)
local g2=Duel.GetMatchingGroup(c60001168.filter,tp,LOCATION_DECK,0,nil,tp,sg:GetFirst():GetCode())
if Duel.SendtoHand(sg,nil,REASON_EFFECT)~=0 and c:GetFlagEffect(60001168)>0 and (c:IsLocation(LOCATION_SZONE) or c:IsPreviousLocation(LOCATION_SZONE)) and #g2>0 and Duel.SelectYesNo(tp,aux.Stringid(60001168,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local tc=g2:Select(tp,1,1,nil)
local tc=g2:Select(tp,1,1,nil):GetFirst()
if tc then
if tc:IsType(TYPE_MONSTER) then
Duel.MoveToField(tc,tp,tp,LOCATION_MZONE,POS_FACEUP,true)
......
......@@ -66,19 +66,19 @@ function c60001170.wxop(e,tp,eg,ep,ev,re,r,rp)
local sg=Group.CreateGroup()
local c=e:GetHandler()
if Duel.NegateActivation(ev) and c:GetFlagEffect(60001168)>0 and (c:IsLocation(LOCATION_SZONE) or c:IsPreviousLocation(LOCATION_SZONE)) and (#g1>0 or #g2>0 or #g3>0) and Duel.SelectYesNo(tp,aux.Stringid(60001170,2)) then
if #g1~=0 and Duel.SelectYesNo(tp,aux.Stringid(60001170,3)) then
if #g1~=0 and Duel.SelectYesNo(tp,aux.Stringid(60001170,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil)
Duel.HintSelection(sg1)
sg:Merge(sg1)
end
if #g2~=0 and Duel.SelectYesNo(tp,aux.Stringid(60001170,4)) then
if #g2~=0 and Duel.SelectYesNo(tp,aux.Stringid(60001170,5)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg2=g2:Select(tp,1,1,nil)
Duel.HintSelection(sg2)
sg:Merge(sg2)
end
if #g3~=0 and Duel.SelectYesNo(tp,aux.Stringid(60001170,5)) then
if #g3~=0 and Duel.SelectYesNo(tp,aux.Stringid(60001170,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg3=g3:RandomSelect(tp,1)
sg:Merge(sg3)
......
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