Commit 6b4d721a authored by TanakaKotoha's avatar TanakaKotoha

888

parent 15b625af
No preview for this file type
...@@ -7,10 +7,23 @@ function c16200005.initial_effect(c) ...@@ -7,10 +7,23 @@ function c16200005.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE) e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,16200005)
e1:SetCost(c16200005.cost) e1:SetCost(c16200005.cost)
e1:SetTarget(c16200005.target) e1:SetTarget(c16200005.target)
e1:SetOperation(c16200005.activate) e1:SetOperation(c16200005.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--act in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e0:SetCondition(c16200005.handcon)
c:RegisterEffect(e0)
end
function c16200005.filter(c)
return c:IsFaceup() and c:IsType(TYPE_EFFECT)
end
function c16200005.handcon(e)
return not Duel.IsExistingMatchingCard(c16200005.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end end
function c16200005.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c16200005.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SUMMON)==0 if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SUMMON)==0
...@@ -39,7 +52,7 @@ function c16200005.sumlimit(e,c,sump,sumtype,sumpos,targetp,se) ...@@ -39,7 +52,7 @@ function c16200005.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return e:GetLabelObject()~=se return e:GetLabelObject()~=se
end end
function c16200005.thfilter(c) function c16200005.thfilter(c)
return c:IsAbleToHand() and aux.IsCodeListed(16200003) return c:IsAbleToHand() and aux.IsCodeListed(c,16200003)
end end
function c16200005.target(e,tp,eg,ep,ev,re,r,rp,chk) function c16200005.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetLocationCount(tp,LOCATION_MZONE,0) local ct=Duel.GetLocationCount(tp,LOCATION_MZONE,0)
......
--单推人的幸福 --单推人的幸福
function c16200006.initial_effect(c) function c16200006.initial_effect(c)
aux.AddCodeList(c,16200003)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_CONTROL) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_CONTROL)
...@@ -13,6 +14,18 @@ function c16200006.initial_effect(c) ...@@ -13,6 +14,18 @@ function c16200006.initial_effect(c)
e1:SetTarget(c16200006.target) e1:SetTarget(c16200006.target)
e1:SetOperation(c16200006.activate) e1:SetOperation(c16200006.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--act in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e0:SetCondition(c16200006.handcon)
c:RegisterEffect(e0)
end
function c16200006.filter(c)
return c:IsFaceup() and c:IsType(TYPE_EFFECT)
end
function c16200006.handcon(e)
return not Duel.IsExistingMatchingCard(c16200006.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end end
function c16200006.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c16200006.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100) e:SetLabel(100)
...@@ -21,17 +34,13 @@ end ...@@ -21,17 +34,13 @@ end
function c16200006.condition(e,tp) function c16200006.condition(e,tp)
return Duel.GetCurrentPhase()==PHASE_END return Duel.GetCurrentPhase()==PHASE_END
end end
function c16200006.filter1(c,e,tp,cg,minc)
return c:IsSetCard(0xc) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and cg:CheckWithSumEqual(Card.GetLevel,c:GetLevel(),minc,99)
end
function c16200006.thfilter(c) function c16200006.thfilter(c)
return c:IsAbleToHand() and aux.IsCodeListed(c,16200003) return c:IsAbleToHand() and aux.IsCodeListed(c,16200003)
end end
function c16200006.target(e,tp,eg,ep,ev,re,r,rp,chk) function c16200006.target(e,tp,eg,ep,ev,re,r,rp,chk)
local a1=Duel.IsExistingMatchingCard(c16200006.thfilter,tp,LOCATION_DECK,0,1,nil) and Duel.CheckReleaseGroup(tp,Card.IsCode,2,nil,16200003) local a1=Duel.IsExistingMatchingCard(c16200006.thfilter,tp,LOCATION_DECK,0,1,nil) and Duel.CheckReleaseGroup(tp,Card.IsCode,2,nil,16200003)
local a2=Duel.CheckReleaseGroup(tp,Card.IsCode,3,nil,16200003) local a2=Duel.CheckReleaseGroup(tp,Card.IsCode,3,nil,16200003)
local a3=Duel.GetMatchingGroupCount(Card.IsControlerCanBeChanged,tp,LOCATION_MZONE,LOCATION_MZONE,nil)==Duel.GetFieldGroupCount(tp,LOCATION_MZONE,LOCATION_MZONE) and Duel.CheckReleaseGroup(tp,Card.IsCode,4,nil,16200003) local a3=Duel.GetMatchingGroupCount(Card.IsControlerCanBeChanged,tp,LOCATION_MZONE,LOCATION_MZONE,nil,true)==Duel.GetFieldGroupCount(tp,LOCATION_MZONE,LOCATION_MZONE) and Duel.CheckReleaseGroup(tp,Card.IsCode,4,nil,16200003)
if chk==0 then if chk==0 then
if e:GetLabel()~=100 then return false end if e:GetLabel()~=100 then return false end
return a1 or a2 or a3 return a1 or a2 or a3
...@@ -57,15 +66,18 @@ function c16200006.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -57,15 +66,18 @@ function c16200006.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
if op==0 then if op==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
Duel.SelectReleaseGroup(tp,Card.IsCode,2,2,nil,16200003) local sg1=Duel.SelectReleaseGroup(tp,Card.IsCode,2,2,nil,16200003)
Duel.Release(sg1,REASON_COST)
e:SetLabel(2) e:SetLabel(2)
elseif op==1 then elseif op==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
Duel.SelectReleaseGroup(tp,Card.IsCode,3,3,nil,16200003) local sg1=Duel.SelectReleaseGroup(tp,Card.IsCode,3,3,nil,16200003)
Duel.Release(sg1,REASON_COST)
e:SetLabel(3) e:SetLabel(3)
elseif op==2 then elseif op==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
Duel.SelectReleaseGroup(tp,Card.IsCode,4,99,nil,16200003) local sg1=Duel.SelectReleaseGroup(tp,Card.IsCode,4,99,nil,16200003)
Duel.Release(sg1,REASON_COST)
e:SetLabel(4) e:SetLabel(4)
end end
if e:GetLabel()==2 then if e:GetLabel()==2 then
......
--单推人不单推 --单推人不单推
function c16200007.initial_effect(c) function c16200007.initial_effect(c)
aux.AddCodeList(c,16200003)
--Activate(summon)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,16200007)
e1:SetCondition(c16200007.condition1)
e1:SetTarget(c16200007.target1)
e1:SetOperation(c16200007.activate1)
c:RegisterEffect(e1)
--act in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e0:SetCondition(c16200007.handcon)
c:RegisterEffect(e0)
end
function c16200007.filter(c)
return c:IsFaceup() and c:IsType(TYPE_EFFECT)
end
function c16200007.handcon(e)
return not Duel.IsExistingMatchingCard(c16200007.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end
function c16200007.condition1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function c16200007.pfilter(c)
return aux.IsCodeListed(c,16200003) and c:IsAbleToHand()
end
function c16200007.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c16200007.pfilter,tp,LOCATION_HAND,0,1,nil) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end
end
function c16200007.activate1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<3 then return end
local sg=Duel.GetDecktopGroup(tp,3)
Duel.ConfirmDecktop(tp,3)
local g=sg:Filter(c16200007.pfilter,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=g:Select(tp,1,1,nil)
if Duel.SendtoHand(tc,tp,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,tc)
end
end
end end
\ No newline at end of file
...@@ -27,7 +27,20 @@ function c16200008.initial_effect(c) ...@@ -27,7 +27,20 @@ function c16200008.initial_effect(c)
e4:SetTarget(c16200008.target2) e4:SetTarget(c16200008.target2)
e4:SetOperation(c16200008.activate2) e4:SetOperation(c16200008.activate2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--act in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e0:SetCondition(c16200008.handcon)
c:RegisterEffect(e0)
end end
function c16200008.filter(c)
return c:IsFaceup() and c:IsType(TYPE_EFFECT)
end
function c16200008.handcon(e)
return not Duel.IsExistingMatchingCard(c16200008.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end
function c16200008.condition1(e,tp,eg,ep,ev,re,r,rp) function c16200008.condition1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0 return Duel.GetCurrentChain()==0
end end
...@@ -37,7 +50,7 @@ end ...@@ -37,7 +50,7 @@ end
function c16200008.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c16200008.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c16200008.pfilter,tp,LOCATION_HAND,0,1,nil) and Duel.GetFlagEffect(tp,16200008)==0 end if chk==0 then return Duel.IsExistingMatchingCard(c16200008.pfilter,tp,LOCATION_HAND,0,1,nil) and Duel.GetFlagEffect(tp,16200008)==0 end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(16200008,3)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(16200008,3))
local sg=Duel.SelectMatchingCard(tp,c16200008.pfilter,tp,LOCATION_HAND,1,1,nil) local sg=Duel.SelectMatchingCard(tp,c16200008.pfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
Duel.RegisterFlagEffect(tp,tp,16200008,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,tp,16200008,RESET_PHASE+PHASE_END,0,1)
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