Commit d9d3234f authored by Momobako's avatar Momobako

b2fixes

parent c09b4b74
......@@ -3,17 +3,32 @@ function c60151101.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,6011101)
e1:SetCondition(c60151101.coincon)
e1:SetTarget(c60151101.cointg)
e1:SetOperation(c60151101.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TOHAND)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SUMMON_SUCCESS)
e111:SetCountLimit(1,6011101)
e111:SetCondition(c60151101.coincon2)
e111:SetTarget(c60151101.cointg)
e111:SetOperation(c60151101.coinop)
c:RegisterEffect(e111)
local e222=e111:Clone()
e222:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e222)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151101,1))
......@@ -27,6 +42,12 @@ function c60151101.initial_effect(c)
e3:SetOperation(c60151101.spop)
c:RegisterEffect(e3)
end
function c60151101.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151101.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151101.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetHandler():IsHasEffect(60151199) then
......@@ -35,6 +56,8 @@ function c60151101.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151101.chlimit(e,ep,tp)
return tp==ep
......@@ -83,13 +106,13 @@ function c60151101.spfilter(c,e,tp)
return c:IsSetCard(0x9b23) and not c:IsCode(60151101) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c60151101.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetMZoneCount(tp)>0
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151101.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c60151101.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<=0 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151101.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
......
......@@ -3,21 +3,36 @@ function c60151102.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_DESTROY+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,6011102)
e1:SetCondition(c60151102.coincon)
e1:SetTarget(c60151102.cointg)
e1:SetOperation(c60151102.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_DESTROY+CATEGORY_TOGRAVE)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SUMMON_SUCCESS)
e111:SetCountLimit(1,6011102)
e111:SetCondition(c60151102.coincon2)
e111:SetTarget(c60151102.cointg)
e111:SetOperation(c60151102.coinop)
c:RegisterEffect(e111)
local e222=e111:Clone()
e222:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e222)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151102,1))
e3:SetCategory(CATEGORY_DRAW)
e3:SetCategory(CATEGORY_DRAW+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetCode(EVENT_TO_GRAVE)
......@@ -27,6 +42,12 @@ function c60151102.initial_effect(c)
e3:SetOperation(c60151102.spop)
c:RegisterEffect(e3)
end
function c60151102.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151102.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151102.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetHandler():IsHasEffect(60151199) then
......@@ -35,6 +56,8 @@ function c60151102.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151102.chlimit(e,ep,tp)
return tp==ep
......@@ -86,6 +109,7 @@ function c60151102.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151102.spop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
......
......@@ -13,18 +13,30 @@ function c60151103.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,6011103)
e1:SetCondition(c60151103.coincon)
e1:SetTarget(c60151103.cointg)
e1:SetOperation(c60151103.coinop)
c:RegisterEffect(e1)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_TOGRAVE)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SPSUMMON_SUCCESS)
e111:SetCountLimit(1,6011103)
e111:SetCondition(c60151103.coincon2)
e111:SetTarget(c60151103.cointg)
e111:SetOperation(c60151103.coinop)
c:RegisterEffect(e111)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151103,1))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetCode(EVENT_TO_GRAVE)
......@@ -34,12 +46,18 @@ function c60151103.initial_effect(c)
e3:SetOperation(c60151103.spop)
c:RegisterEffect(e3)
end
function c60151103.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151103.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151103.sfilter(c)
return c:IsFaceup() and c:IsSetCard(0x9b23) and c:GetCode()~=60151103
end
function c60151103.spcon2(e,c)
if c==nil then return true end
return Duel.GetMZoneCount(c:GetControler())>0 and
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 and
Duel.IsExistingMatchingCard(c60151103.sfilter,c:GetControler(),LOCATION_MZONE,0,1,nil)
end
function c60151103.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -50,6 +68,8 @@ function c60151103.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151103.chlimit(e,ep,tp)
return tp==ep
......@@ -100,6 +120,7 @@ end
function c60151103.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c60151103.spfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151103.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
......@@ -3,17 +3,32 @@ function c60151104.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,6011104)
e1:SetCondition(c60151104.coincon)
e1:SetTarget(c60151104.cointg)
e1:SetOperation(c60151104.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TOHAND)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SUMMON_SUCCESS)
e111:SetCountLimit(1,6011104)
e111:SetCondition(c60151104.coincon2)
e111:SetTarget(c60151104.cointg)
e111:SetOperation(c60151104.coinop)
c:RegisterEffect(e111)
local e222=e111:Clone()
e222:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e222)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151104,1))
......@@ -27,6 +42,12 @@ function c60151104.initial_effect(c)
e3:SetOperation(c60151104.spop)
c:RegisterEffect(e3)
end
function c60151104.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151104.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151104.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetHandler():IsHasEffect(60151199) then
......@@ -35,6 +56,8 @@ function c60151104.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151104.chlimit(e,ep,tp)
return tp==ep
......@@ -85,13 +108,14 @@ function c60151104.spfilter(c,e,tp)
return c:IsSetCard(0x9b23) and not c:IsCode(60151104) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c60151104.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetMZoneCount(tp)>0
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151104.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151104.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<=0 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151104.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
......
......@@ -3,17 +3,32 @@ function c60151105.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,6011105)
e1:SetCondition(c60151105.coincon)
e1:SetTarget(c60151105.cointg)
e1:SetOperation(c60151105.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_TOGRAVE)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SUMMON_SUCCESS)
e111:SetCountLimit(1,6011105)
e111:SetCondition(c60151105.coincon2)
e111:SetTarget(c60151105.cointg)
e111:SetOperation(c60151105.coinop)
c:RegisterEffect(e111)
local e222=e111:Clone()
e222:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e222)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151105,1))
......@@ -27,6 +42,12 @@ function c60151105.initial_effect(c)
e3:SetOperation(c60151105.spop)
c:RegisterEffect(e3)
end
function c60151105.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151105.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151105.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetHandler():IsHasEffect(60151199) then
......@@ -35,6 +56,8 @@ function c60151105.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c60151105.chlimit(e,ep,tp)
return tp==ep
......@@ -86,6 +109,7 @@ end
function c60151105.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(c60151105.spfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151105.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
......@@ -13,21 +13,36 @@ function c60151106.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,6011106)
e1:SetCondition(c60151106.coincon)
e1:SetTarget(c60151106.cointg)
e1:SetOperation(c60151106.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_SPECIAL_SUMMON)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SUMMON_SUCCESS)
e111:SetCountLimit(1,6011106)
e111:SetCondition(c60151106.coincon2)
e111:SetTarget(c60151106.cointg)
e111:SetOperation(c60151106.coinop)
c:RegisterEffect(e111)
local e222=e111:Clone()
e222:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e222)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151106,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK+CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetCode(EVENT_TO_GRAVE)
......@@ -37,22 +52,28 @@ function c60151106.initial_effect(c)
e3:SetOperation(c60151106.spop)
c:RegisterEffect(e3)
end
function c60151106.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151106.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151106.spfilter2(c)
return c:IsSetCard(0x9b23) and c:IsType(TYPE_MONSTER) and not c:IsCode(60151106) and c:IsAbleToGrave()
end
function c60151106.spcon2(e,c)
if c==nil then return true end
local tp=c:GetControler()
if Duel.GetMZoneCount(tp)<1 and Duel.GetMZoneCount(tp)>-2 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 then
return Duel.IsExistingMatchingCard(c60151106.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingMatchingCard(c60151106.spfilter2,tp,LOCATION_ONFIELD,0,1,nil)
else
return Duel.GetMZoneCount(tp)>0
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151106.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,nil)
end
end
function c60151106.spop2(e,tp,eg,ep,ev,re,r,rp,c)
if Duel.GetMZoneCount(tp)<1 and Duel.GetMZoneCount(tp)>-2 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,c60151106.spfilter2,tp,LOCATION_ONFIELD,0,1,1,nil)
local tc=g1:GetFirst()
......@@ -85,7 +106,9 @@ function c60151106.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,60151106,RESET_CHAIN,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c60151106.chlimit(e,ep,tp)
return tp==ep
......@@ -112,8 +135,8 @@ function c60151106.coinop(e,tp,eg,ep,ev,re,r,rp)
end
end
if res==1 then
if Duel.GetMZoneCount(tp)<=0 then return end
if Duel.GetMZoneCount(tp)<2 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60151106.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst()
......@@ -190,6 +213,7 @@ function c60151106.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and Duel.IsExistingMatchingCard(c60151106.filter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151106.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
......
......@@ -13,21 +13,36 @@ function c60151107.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_DESTROY+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,6011107)
e1:SetCondition(c60151107.coincon)
e1:SetTarget(c60151107.cointg)
e1:SetOperation(c60151107.coinop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_DESTROY)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SUMMON_SUCCESS)
e111:SetCountLimit(1,6011107)
e111:SetCondition(c60151107.coincon2)
e111:SetTarget(c60151107.cointg)
e111:SetOperation(c60151107.coinop)
c:RegisterEffect(e111)
local e222=e111:Clone()
e222:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e222)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60151107,1))
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetCode(EVENT_TO_GRAVE)
......@@ -37,22 +52,28 @@ function c60151107.initial_effect(c)
e3:SetOperation(c60151107.spop)
c:RegisterEffect(e3)
end
function c60151107.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151107.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151107.spfilter2(c)
return c:IsSetCard(0x9b23) and c:IsType(TYPE_MONSTER) and not c:IsCode(60151107) and c:IsAbleToGrave()
end
function c60151107.spcon2(e,c)
if c==nil then return true end
local tp=c:GetControler()
if Duel.GetMZoneCount(tp)<1 and Duel.GetMZoneCount(tp)>-2 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 then
return Duel.IsExistingMatchingCard(c60151107.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingMatchingCard(c60151107.spfilter2,tp,LOCATION_ONFIELD,0,1,nil)
else
return Duel.GetMZoneCount(tp)>0
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c60151107.spfilter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,2,nil)
end
end
function c60151107.spop2(e,tp,eg,ep,ev,re,r,rp,c)
if Duel.GetMZoneCount(tp)<1 and Duel.GetMZoneCount(tp)>-2 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,c60151107.spfilter2,tp,LOCATION_ONFIELD,0,1,1,nil)
local tc=g1:GetFirst()
......@@ -85,7 +106,9 @@ function c60151107.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,60151107,RESET_CHAIN,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD)
end
function c60151107.chlimit(e,ep,tp)
return tp==ep
......
......@@ -27,14 +27,25 @@ function c60151108.initial_effect(c)
c:RegisterEffect(e3)
--coin
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_COIN)
e4:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE+CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetCountLimit(1,60151108)
e4:SetCondition(c60151108.coincon)
e4:SetTarget(c60151108.cointg)
e4:SetOperation(c60151108.coinop)
c:RegisterEffect(e4)
local e444=Effect.CreateEffect(c)
e444:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW)
e444:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e444:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e444:SetCode(EVENT_SPSUMMON_SUCCESS)
e444:SetCountLimit(1,60151108)
e444:SetCondition(c60151108.coincon2)
e444:SetTarget(c60151108.cointg)
e444:SetOperation(c60151108.coinop)
c:RegisterEffect(e444)
--
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(60151108,1))
......@@ -48,6 +59,12 @@ function c60151108.initial_effect(c)
e5:SetOperation(c60151108.spop2)
c:RegisterEffect(e5)
end
function c60151108.coincon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60151199)
end
function c60151108.coincon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60151199)
end
function c60151108.cfilter(c)
return not c:IsAbleToDeckOrExtraAsCost()
end
......@@ -58,7 +75,7 @@ function c60151108.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c60151108.cfilter2,tp,LOCATION_GRAVE,0,nil)
return Duel.GetMZoneCount(tp)>0 and g:GetCount()>0
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and g:GetCount()>0
and not g:IsExists(c60151108.cfilter,1,nil)
end
function c60151108.spop(e,tp,eg,ep,ev,re,r,rp,c)
......@@ -82,7 +99,7 @@ function c60151108.spop(e,tp,eg,ep,ev,re,r,rp,c)
end
end
function c60151108.sumsuccon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL)+1
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+1
end
function c60151108.sumsuc(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetHandler():GetFlagEffect(60151108)
......@@ -106,6 +123,9 @@ function c60151108.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,1,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_HAND+LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151108.chlimit(e,ep,tp)
return tp==ep
......
......@@ -6,7 +6,7 @@ function c60151121.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -14,6 +14,16 @@ function c60151121.initial_effect(c)
e1:SetTarget(c60151121.cointg)
e1:SetOperation(c60151121.coinop)
c:RegisterEffect(e1)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SPSUMMON_SUCCESS)
e111:SetCondition(c60151121.atkcon2)
e111:SetTarget(c60151121.cointg)
e111:SetOperation(c60151121.coinop)
c:RegisterEffect(e111)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
......@@ -29,7 +39,10 @@ function c60151121.xyzfilter(c)
return c:IsSetCard(0x9b23)
end
function c60151121.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ and not e:GetHandler():IsHasEffect(60151199)
end
function c60151121.atkcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ and e:GetHandler():IsHasEffect(60151199)
end
function c60151121.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -38,7 +51,9 @@ function c60151121.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,60151121,RESET_CHAIN,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE,nil,1,1-tp,LOCATION_MZONE)
end
function c60151121.chlimit(e,ep,tp)
return tp==ep
......
......@@ -6,7 +6,7 @@ function c60151123.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -14,10 +14,20 @@ function c60151123.initial_effect(c)
e1:SetTarget(c60151123.cointg)
e1:SetOperation(c60151123.coinop)
c:RegisterEffect(e1)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_TOGRAVE)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SPSUMMON_SUCCESS)
e111:SetCondition(c60151123.atkcon2)
e111:SetTarget(c60151123.cointg)
e111:SetOperation(c60151123.coinop)
c:RegisterEffect(e111)
--remove
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_TOGRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGETEFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
......@@ -31,7 +41,10 @@ function c60151123.tfilter(c)
return c:IsSetCard(0x9b23)
end
function c60151123.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO and not e:GetHandler():IsHasEffect(60151199)
end
function c60151123.atkcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO and e:GetHandler():IsHasEffect(60151199)
end
function c60151123.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -40,6 +53,7 @@ function c60151123.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,60151123,RESET_CHAIN,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
end
function c60151123.chlimit(e,ep,tp)
......
......@@ -7,7 +7,7 @@ function c60151125.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -15,12 +15,24 @@ function c60151125.initial_effect(c)
e1:SetTarget(c60151125.cointg)
e1:SetOperation(c60151125.coinop)
c:RegisterEffect(e1)
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SPSUMMON_SUCCESS)
e111:SetCondition(c60151125.atkcon2)
e111:SetTarget(c60151125.cointg)
e111:SetOperation(c60151125.coinop)
c:RegisterEffect(e111)
end
function c60151125.xyzfilter(c)
return c:IsSetCard(0x9b23)
end
function c60151125.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ and not e:GetHandler():IsHasEffect(60151199)
end
function c60151125.atkcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ and e:GetHandler():IsHasEffect(60151199)
end
function c60151125.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -57,6 +69,7 @@ function c60151125.coinop(e,tp,eg,ep,ev,re,r,rp)
--disable and destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151123,1))
e1:SetCategory(CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
......
......@@ -7,7 +7,7 @@ function c60151127.initial_effect(c)
--coin
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151101,2))
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -15,8 +15,19 @@ function c60151127.initial_effect(c)
e1:SetTarget(c60151127.cointg)
e1:SetOperation(c60151127.coinop)
c:RegisterEffect(e1)
--to hand
local e111=Effect.CreateEffect(c)
e111:SetDescription(aux.Stringid(60151101,2))
e111:SetCategory(CATEGORY_DESTROY)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e111:SetCode(EVENT_SPSUMMON_SUCCESS)
e111:SetCondition(c60151127.atkcon2)
e111:SetTarget(c60151127.cointg)
e111:SetOperation(c60151127.coinop)
c:RegisterEffect(e111)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW+CATEGORY_TOGRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
......@@ -31,7 +42,10 @@ function c60151127.tfilter(c)
return c:IsSetCard(0x9b23)
end
function c60151127.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO and not e:GetHandler():IsHasEffect(60151199)
end
function c60151127.atkcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_SYNCHRO and e:GetHandler():IsHasEffect(60151199)
end
function c60151127.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -40,6 +54,7 @@ function c60151127.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,60151127,RESET_CHAIN,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE)
end
end
function c60151127.chlimit(e,ep,tp)
......@@ -49,7 +64,7 @@ function c60151127.filter2(c)
return c:IsAbleToGrave()
end
function c60151127.filter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:IsDestructable()
return bit.band(c:GetSummonType(),SUMMON_TYPE_SPECIAL)==SUMMON_TYPE_SPECIAL and c:IsDestructable()
end
function c60151127.coinop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -66,6 +81,7 @@ function c60151127.coinop(e,tp,eg,ep,ev,re,r,rp)
--disable and destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60151123,1))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
......@@ -109,6 +125,7 @@ function c60151127.destg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g1,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151127.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
......
......@@ -6,7 +6,7 @@ function c60151128.initial_effect(c)
c:EnableReviveLimit()
--coin
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COIN)
e1:SetCategory(CATEGORY_COIN+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
......@@ -14,6 +14,14 @@ function c60151128.initial_effect(c)
e1:SetTarget(c60151128.cointg)
e1:SetOperation(c60151128.coinop)
c:RegisterEffect(e1)
local e111=Effect.CreateEffect(c)
e111:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e111:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e111:SetCode(EVENT_SPSUMMON_SUCCESS)
e111:SetCondition(c60151128.atkcon2)
e111:SetTarget(c60151128.cointg)
e111:SetOperation(c60151128.coinop)
c:RegisterEffect(e111)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE)
......@@ -37,7 +45,12 @@ function c60151128.xyzfilter(c)
return c:IsSetCard(0x9b23)
end
function c60151128.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) and e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x9b23)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ and e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x9b23)
and not e:GetHandler():IsHasEffect(60151199)
end
function c60151128.atkcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ and e:GetHandler():GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x9b23)
and e:GetHandler():IsHasEffect(60151199)
end
function c60151128.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -46,6 +59,8 @@ function c60151128.cointg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterFlagEffect(tp,60151128,RESET_CHAIN,0,1)
else
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,sg,sg:GetCount(),0,0)
end
end
function c60151128.chlimit(e,ep,tp)
......
......@@ -2,7 +2,7 @@
function c60151196.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
......@@ -12,7 +12,7 @@ function c60151196.initial_effect(c)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
......@@ -32,6 +32,7 @@ function c60151196.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_ONFIELD)
end
function c60151196.tgfilter2(c,ttype)
return c:IsType(ttype) and c:IsFaceup() and c:IsAbleToDeck()
......@@ -63,6 +64,7 @@ end
function c60151196.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151196.thfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151196.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
......@@ -2,7 +2,7 @@
function c60151197.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetCountLimit(1,60151197)
......@@ -35,6 +35,7 @@ function c60151197.tgfilter(c)
end
function c60151197.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60151197.tgfilter,tp,0,LOCATION_HAND+LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_HAND+LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151197.activate(e,tp,eg,ep,ev,re,r,rp)
......@@ -45,13 +46,13 @@ function c60151197.activate(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then
if Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
local g3=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_HAND+LOCATION_ONFIELD,nil)
local g1=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
local g1=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_HAND+LOCATION_ONFIELD,0,e:GetHandler())
if g3:GetCount()>0 and g1:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(60151197,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g1:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.SendtoGrave(g1,REASON_EFFECT)
Duel.SendtoGrave(sg,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TOGRAVE)
local sg2=g3:Select(1-tp,1,1,nil)
Duel.HintSelection(sg2)
......
......@@ -2,7 +2,7 @@
function c60151198.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
......@@ -28,11 +28,12 @@ function c60151198.filter(c,e,tp)
return c:IsSetCard(0x9b23) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c60151198.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetMZoneCount(tp)>0
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c60151198.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c60151198.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND+LOCATION_ONFIELD)
end
function c60151198.filter2(c)
return c:IsAbleToGrave()
......@@ -40,12 +41,14 @@ end
function c60151198.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) and Duel.SelectYesNo(tp,aux.Stringid(60151198,0)) then Duel.BreakEffect()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local g2=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_HAND+LOCATION_ONFIELD,0,nil)
if g2:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(60151101,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,c60151198.filter2,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler())
if g1:GetCount()>0 then
Duel.SendtoGrave(g1,REASON_EFFECT)
local sg=g2:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_EFFECT)
end
end
end
......
--├军团┤
function c60151199.initial_effect(c)
c:EnableCounterPermit(0x1b)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
......@@ -62,13 +61,13 @@ end
function c60151199.ctop(e,tp,eg,ep,ev,re,r,rp)
if not eg then return end
local ct=eg:FilterCount(c60151199.cfilter,nil)
e:GetHandler():AddCounter(0x1b,ct)
e:GetHandler():AddCounter(0x101b,ct)
end
function c60151199.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x1b,3,REASON_COST)
if chk==0 then return e:GetHandler():IsCanRemoveCounter(tp,0x101b,3,REASON_COST)
and Duel.IsPlayerCanDraw(tp,1) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
e:GetHandler():RemoveCounter(tp,0x1b,3,REASON_COST)
e:GetHandler():RemoveCounter(tp,0x101b,3,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c60151199.op3(e,tp,eg,ep,ev,re,r,rp)
......
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