Commit b4418ed3 authored by TanakaKotoha's avatar TanakaKotoha

wadashimo

parent 8881fdf3
Pipeline #640 passed with stages
in 40 minutes and 35 seconds
......@@ -98,8 +98,10 @@ function c12004023.fsfilter2(c)
end
function c12004023.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler())
local g=GetMatchingGroup(aux.TRUE,tp,LOCATION_MZONE,LOCATION_MZONE,e:GetHandler())
if g:GetCount()>0 then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
end
function c12004023.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -73,6 +73,7 @@ function c12008010.regop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c12008010.spfilter(c,e,tp)
if not c:GetReasonEffect() then return false end
return c:IsFaceup() and c:IsReason(REASON_EFFECT) and c:GetReasonEffect():GetHandler():IsSetCard(0x1fb3) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c12008010.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -121,9 +121,7 @@ function c12008020.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c12008020.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,99,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,g:GetCount(),0,0)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(c12008020.chainlimit)
end
Duel.SetChainLimit(c12008020.chainlimit)
end
function c12008020.chainlimit(e,rp,tp)
return tp==rp or not (e:GetHandler():IsFacedown() and e:GetHandler():IsOnField())
......
......@@ -6,7 +6,7 @@ function c12026020.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,12026021)
e1:SetCountLimit(1,12026020)
e1:SetCondition(c12026020.descon)
e1:SetTarget(c12026020.target)
e1:SetOperation(c12026020.activate)
......@@ -18,7 +18,7 @@ function c12026020.initial_effect(c)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetCountLimit(1,12026021+100)
e2:SetCountLimit(1,12026020+100)
e2:SetTarget(c12026020.rmtg)
e2:SetOperation(c12026020.rmop)
c:RegisterEffect(e2)
......@@ -92,7 +92,7 @@ function c12026020.rmop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
if e:GetLabel()==1 and Duel.IsExistingTarget(c12026020.filter,tp,LOCATION_DECK,0,1,c,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(12026020,2)) then
if e:GetLabel()==1 and Duel.IsExistingMatchingCard(c12026020.filter,tp,LOCATION_DECK,0,1,c,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(12026020,2)) then
local g=Duel.SelectMatchingCard(tp,c12026020.filter,tp,LOCATION_DECK,0,1,1,c,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
......
......@@ -117,5 +117,5 @@ function c16200000.chop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c16200000.chfilter,tp,0,LOCATION_MZONE,1,1,nil)
local tc=g:GetFirst()
if not tc then return end
Duel.GetControl(tc,tp)
Duel.GetControl(tc,tp,PHASE_END,1)
end
\ No newline at end of file
......@@ -3,18 +3,18 @@ if not pcall(function() require("expansions/script/c10199990") end) then require
local m,cm=rscf.DefineCard(33330100)
function cm.initial_effect(c)
local e1=rsef.ACT(c)
local e2=rsef.QO(c,nil,{m,0},1,"sp",nil,LOCATION_SZONE,nil,rscost.cost(cm.cfilter,"tg",LOCATION_MZONE,0,true),rsop.target(rscf.spfilter2(Card.IsSetCard,0x550),"sp",LOCATION_EXTRA),cm.spop)
local e2=rsef.QO(c,nil,{m,0},1,"sp",nil,LOCATION_SZONE,nil,rscost.cost(cm.cfilter,"tg",LOCATION_ONFIELD,0,true,true,c),rsop.target(rscf.spfilter2(Card.IsSetCard,0x550),"sp",LOCATION_EXTRA),cm.spop)
local e3=rsef.QO(c,nil,{m,1},nil,"se,th,td,ga",nil,LOCATION_GRAVE,nil,aux.bfgcost,rsop.target(cm.thfilter,"th",LOCATION_DECK),cm.thop)
end
function cm.cfilter(c,e,tp)
local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,0)
return #g==g:FilterCount(Card.IsAbleToGraveAsCost,e:GetHandler())
return #g==g:FilterCount(Card.IsAbleToGraveAsCost,nil)
end
function cm.spop(e,tp)
if aux.ExceptThisCard(e) then
rsop.SelectSpecialSummon(tp,rscf.spfilter2(Card.IsSetCard,0x550),tp,LOCATION_EXTRA,0,1,1,nil,{},e,tp)
end
local e1=rsef.FV_LIMIT_PLAYER({e:GetHandler(),tp},"sp",nil,aux.TargetBoolFunction(Card.IsType,TYPE_MONSTER),{1,0},nil,rsreset.pend)
local e1=rsef.FV_LIMIT_PLAYER({e:GetHandler(),tp},"sp",nil,aux.TargetBoolFunction(Card.IsLocation,LOCATION_EXTRA),{1,0},nil,rsreset.pend)
end
function cm.thfilter(c)
return c:IsSetCard(0x550) and c:IsAbleToHand()
......
......@@ -4,7 +4,6 @@ local cm=_G["c"..m]
xpcall(function() require("expansions/script/c1110198") end,function() require("script/c1110198") end)
cm.named_with_Urban=true
function cm.initial_effect(c)
aux.AddCodeList(c,81011027)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
......@@ -46,10 +45,17 @@ function cm.initial_effect(c)
c:RegisterEffect(e3)
--destroy
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetOperation(cm.desop)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_LEAVE_FIELD_P)
e4:SetOperation(cm.checkop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetOperation(cm.desop)
e5:SetLabelObject(e4)
c:RegisterEffect(e5)
end
function cm.sumcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
......@@ -74,6 +80,8 @@ function cm.tfop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.SelectMatchingCard(tp,cm.tffilter,tp,LOCATION_DECK,0,1,1,nil,tp):GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
tc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD,0,1,0)
e:GetHandler():SetCardTarget(tc)
if not (muxu.check_set_Soul(tc) or muxu.check_set_Urban(tc)) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -132,13 +140,15 @@ function cm.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(eg,REASON_EFFECT)
end
end
function cm.desfilter(c,rc)
return rc:GetCardTarget():IsContains(c) and rc:GetFlagEffect(m)>0
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
else e:SetLabel(0) end
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:GetCardTargetCount()>0 then
local dg=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,c)
Duel.Remove(dg,POS_FACEDOWN,REASON_EFFECT)
if e:GetLabelObject():GetLabel()~=0 then return end
local tc=e:GetHandler():GetFirstCardTarget()
if tc and tc:IsLocation(LOCATION_SZONE) then
Duel.Remove(tc,POS_FACEDOWN,REASON_EFFECT)
end
end
......@@ -4,7 +4,6 @@ local cm=_G["c"..m]
xpcall(function() require("expansions/script/c1110198") end,function() require("script/c1110198") end)
cm.named_with_Urban=true
function cm.initial_effect(c)
aux.AddCodeList(c,81011027)
--code
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
......@@ -37,13 +36,20 @@ function cm.initial_effect(c)
c:RegisterEffect(e2)
--destroy
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetOperation(cm.desop)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetCode(EVENT_LEAVE_FIELD_P)
e4:SetOperation(cm.checkop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetOperation(cm.desop)
e5:SetLabelObject(e4)
c:RegisterEffect(e5)
end
function cm.tffilter(c,tp)
return c:GetType()==TYPE_SPELL+TYPE_CONTINUOUS and (muxu.check_set_Soul(tc) or muxu.check_set_Urban(tc)) and not c:IsForbidden() and not Duel.IsExistingMatchingCard(cm.dfilter,tp,LOCATION_ONFIELD,0,1,nil,c:GetCode())
return c:GetType()==TYPE_SPELL+TYPE_CONTINUOUS and (muxu.check_set_Soul(c) or muxu.check_set_Urban(c)) and not c:IsForbidden() and not Duel.IsExistingMatchingCard(cm.dfilter,tp,LOCATION_ONFIELD,0,1,nil,c:GetCode())
end
function cm.dfilter(c,code)
return c:IsFaceup() and c:IsCode(code)
......@@ -63,14 +69,16 @@ function cm.tfop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():SetCardTarget(tc)
end
end
function cm.desfilter(c,rc)
return rc:GetCardTarget():IsContains(c) and rc:GetFlagEffect(m)>0
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsDisabled() then
e:SetLabel(1)
else e:SetLabel(0) end
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:GetCardTargetCount()>0 then
local dg=Duel.GetMatchingGroup(cm.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,c)
Duel.SendtoHand(dg,nil,REASON_EFFECT)
if e:GetLabelObject():GetLabel()~=0 then return end
local tc=e:GetHandler():GetFirstCardTarget()
if tc and tc:IsLocation(LOCATION_SZONE) then
Duel.SendtoHand(tc,nil,2,REASON_EFFECT)
end
end
function cm.filter(c)
......
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