Commit bf7bc667 authored by POLYMER's avatar POLYMER

fix

parent efc39d7c
......@@ -5994,9 +5994,6 @@
10111100 0
10111101 0
10111102 0
43990084 0
43990086 0
43990089 0
#limit
33403513 1
82204250 0
......
No preview for this file type
No preview for this file type
......@@ -143,7 +143,7 @@ function c28318749.tdop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
if Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil) and Duel.CheckRemoveOverlayCard(tp,1,0,1,REASON_EFFECT) and Duel.SelectYesNo(tp,aux.Stringid(28318749,0) then
if Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil) and Duel.CheckRemoveOverlayCard(tp,1,0,1,REASON_EFFECT) and Duel.SelectYesNo(tp,aux.Stringid(28318749,0)) then
Duel.RemoveOverlayCard(tp,1,0,1,1,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g2=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,1,nil)
......
--为人勿哭
local m=43990072
local cm=_G["c"..m]
function cm.initial_effect(c)
--SpecialSummon1
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetCost(c43990072.sp1cost)
e1:SetTarget(c43990072.sp1tg)
e1:SetOperation(c43990072.sp1op)
c:RegisterEffect(e1)
--sp2
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,43990072)
e2:SetCondition(c43990072.spcon)
e2:SetTarget(c43990072.sptg)
e2:SetOperation(c43990072.spop)
c:RegisterEffect(e2)
end
function c43990072.sp1filter(c)
return c:IsRace(RACE_ILLUSION) and c:IsAbleToGraveAsCost()
end
function c43990072.sp1cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c43990072.sp1filter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c43990072.sp1filter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,c)
Duel.SendtoGrave(g,REASON_COST)
end
function c43990072.sp1tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetDecktopGroup(tp,ct)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,5) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=5 end
end
function c43990072.sp1filter2(c,e,tp)
return c:IsSetCard(0x5510) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c43990072.sp1op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.IsPlayerCanDiscardDeck(tp,5) then
Duel.ConfirmDecktop(tp,5)
local g=Duel.GetDecktopGroup(tp,5)
if g:GetCount()>0 then
Duel.DisableShuffleCheck()
if g:IsExists(c43990072.sp1filter2,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(43990072,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:FilterSelect(tp,c43990072.sp1filter2,1,1,nil,e,tp)
if sg:GetCount()>0 then Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) end
g:Sub(sg)
end
if Duel.SendtoGrave(g,REASON_EFFECT+REASON_REVEAL)~=0 and e:GetActivateLocation()==LOCATION_HAND and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(43990072,1)) then
Duel.BreakEffect()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
end
end
function c43990072.cfilter(c,tp)
return c:IsType(TYPE_MONSTER) and c:IsPreviousPosition(POS_FACEUP)
end
function c43990072.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c43990072.cfilter,1,nil,tp) and rp==1-tp
end
function c43990072.sppfilter(c,e,tp)
return c:IsSetCard(0x5510) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c43990072.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c43990072.sppfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c43990072.spop(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,c43990072.sppfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--血棉花
local m=43990077
local cm=_G["c"..m]
function cm.initial_effect(c)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(43990077,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetCountLimit(1,43990077)
e1:SetCondition(c43990077.thcon)
e1:SetCost(c43990077.thcost)
e1:SetTarget(c43990077.thtg)
e1:SetOperation(c43990077.thop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(43990077,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BE_MATERIAL)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(c43990077.drcon)
e2:SetOperation(c43990077.drop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(43990077,1))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCondition(c43990077.drcon2)
e3:SetOperation(c43990077.drop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(43990077,1))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_REMOVE)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(c43990077.drcon2)
e4:SetOperation(c43990077.drop)
c:RegisterEffect(e4)
end
function c43990077.sfilter(c,tp)
return c:IsPreviousPosition(POS_FACEUP) and bit.band(c:GetPreviousRaceOnField(),RACE_ILLUSION)~=0 and c:IsReason(REASON_BATTLE+REASON_EFFECT)
end
function c43990077.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c43990077.sfilter,1,nil,tp) and not eg:IsContains(e:GetHandler())
end
function c43990077.sp1filter(c)
return c:IsRace(RACE_ILLUSION) and c:IsAbleToGraveAsCost()
end
function c43990077.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c43990077.sp1filter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c43990077.sp1filter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,c)
Duel.SendtoGrave(g,REASON_COST)
end
function c43990077.thfilter(c,e,tp)
return c:IsRace(RACE_ILLUSION) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c43990077.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if not ((c:IsLocation(LOCATION_GRAVE) and c:IsAbleToRemove()) or (not c:IsLocation(LOCATION_GRAVE))) then return end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and eg:FilterCount(c43990077.thfilter,nil,e,tp)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,1)
end
function c43990077.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=eg:FilterSelect(tp,c43990077.thfilter,1,1,nil,e,tp)
if #g>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
if e:GetActivateLocation()==LOCATION_GRAVE and c:IsAbleToRemove() and c:IsRelateToEffect(e) then
Duel.BreakEffect()
Duel.Remove(c,POS_FACEUP,REASON_EFFECT)
end
end
function c43990077.drcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return (c:IsLocation(LOCATION_GRAVE) or c:IsLocation(LOCATION_REMOVED) and c:IsFaceup()) and r==REASON_FUSION
end
function c43990077.drcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_COST) and re:IsActivated() and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():IsRace(RACE_ILLUSION)
end
function c43990077.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--activate cost
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_ACTIVATE_COST)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetCost(c43990077.costchk)
e1:SetOperation(c43990077.costop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
--accumulate
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_FLAG_EFFECT+43990077)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c43990077.costchk(e,te_or_c,tp)
local ct=Duel.GetFlagEffect(tp,43990077)
return Duel.CheckLPCost(tp,ct*500)
end
function c43990077.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,500)
end
--陆行珍珠
local m=43990079
local cm=_G["c"..m]
function cm.initial_effect(c)
--SpecialSummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_MOVE)
e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetCondition(c43990079.con)
e1:SetCost(c43990079.rspcost)
e1:SetTarget(c43990079.rsptg)
e1:SetOperation(c43990079.rspop)
c:RegisterEffect(e1)
--release replace
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(43990079,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_SEND_REPLACE)
e3:SetCountLimit(1,43990079)
e3:SetTarget(c43990079.reptg)
e3:SetValue(function(e,c) return c:GetFlagEffect(43990079)>0 end)
c:RegisterEffect(e3)
end
function c43990079.confilter(c,tp)
return c:IsPreviousLocation(LOCATION_DECK)
end
function c43990079.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c43990079.confilter,1,e:GetHandler(),tp)
end
function c43990079.rscfilter(c)
return c:IsRace(RACE_ILLUSION) and c:IsAbleToGraveAsCost()
end
function c43990079.rspcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c43990079.rscfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c43990079.rscfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,c)
Duel.SendtoGrave(g,REASON_COST)
end
function c43990079.rsptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c43990079.rspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.Draw(tp,1,REASON_EFFECT)~=0 and e:GetActivateLocation()==LOCATION_HAND and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsRelateToEffect(e) and Duel.SelectYesNo(tp,aux.Stringid(43990079,0)) then
Duel.BreakEffect()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c43990079.filter2(c,re,tp,r)
return bit.band(r,REASON_COST)~=0 and c:GetDestination()==LOCATION_GRAVE and c:IsType(TYPE_MONSTER) and re and aux.GetValueType(re)=="Effect" and re:IsActivated() and re:GetHandlerPlayer()==tp
end
function c43990079.rrfilter(c)
return c:IsSetCard(0x5510) and c:IsAbleToDeckAsCost()
end
function c43990079.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return re and re:GetHandler():IsRace(RACE_ILLUSION) and eg:IsExists(c43990079.filter2,1,nil,re,tp,r) end
if Duel.IsExistingMatchingCard(c43990079.rrfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil) and Duel.SelectYesNo(tp,aux.Stringid(43990079,1)) then
local g=eg:Filter(c43990079.filter2,nil,re,tp,r)
g:ForEach(Card.RegisterFlagEffect,43990079,RESET_CHAIN,0,1)
local g2=Duel.SelectMatchingCard(tp,c43990079.rrfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,2,nil)
Duel.SendtoDeck(g2,nil,SEQ_DECKSHUFFLE,REASON_COST)
return true
else return false 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