Commit 1f309f37 authored by mercury233's avatar mercury233 Committed by DailyShana

update continuous traps (#1118)

parent 74ea0834
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
function c13935001.initial_effect(c) function c13935001.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(13935001,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -10,16 +9,13 @@ function c13935001.initial_effect(c) ...@@ -10,16 +9,13 @@ function c13935001.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(13935001,1)) e2:SetDescription(aux.Stringid(13935001,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN+CATEGORY_ATKCHANGE) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN+CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetTarget(c13935001.tktg) e2:SetTarget(c13935001.tktg)
e2:SetOperation(c13935001.tkop) e2:SetOperation(c13935001.tkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_SZONE)
c:RegisterEffect(e3)
--special summon --special summon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(13935001,2)) e4:SetDescription(aux.Stringid(13935001,2))
......
...@@ -4,7 +4,6 @@ function c14318794.initial_effect(c) ...@@ -4,7 +4,6 @@ function c14318794.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_STANDBY_PHASE,0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--recover --recover
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,7 +4,6 @@ function c17874674.initial_effect(c) ...@@ -4,7 +4,6 @@ function c17874674.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_DRAW_PHASE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--confirm --confirm
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,7 +4,6 @@ function c18517177.initial_effect(c) ...@@ -4,7 +4,6 @@ function c18517177.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--maintain --maintain
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -5,7 +5,6 @@ function c20426907.initial_effect(c) ...@@ -5,7 +5,6 @@ function c20426907.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_SUMMON+TIMING_SPSUMMON)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable --disable
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,7 +4,6 @@ function c21558682.initial_effect(c) ...@@ -4,7 +4,6 @@ function c21558682.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_BATTLE_START)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--change target --change target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,9 +4,6 @@ function c21598948.initial_effect(c) ...@@ -4,9 +4,6 @@ function c21598948.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_MAIN_END)
e1:SetTarget(c21598948.atktg1)
e1:SetOperation(c21598948.atkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk change --atk change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -16,7 +13,7 @@ function c21598948.initial_effect(c) ...@@ -16,7 +13,7 @@ function c21598948.initial_effect(c)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c21598948.atkcon) e2:SetCondition(c21598948.atkcon)
e2:SetTarget(c21598948.atktg2) e2:SetTarget(c21598948.atktg)
e2:SetOperation(c21598948.atkop) e2:SetOperation(c21598948.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--maintain --maintain
...@@ -34,23 +31,13 @@ c21598948.toss_coin=true ...@@ -34,23 +31,13 @@ c21598948.toss_coin=true
function c21598948.atkcon(e,tp,eg,ep,ev,re,r,rp) function c21598948.atkcon(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() return tp~=Duel.GetTurnPlayer()
end end
function c21598948.atktg1(e,tp,eg,ep,ev,re,r,rp,chk) function c21598948.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
e:SetLabel(0)
if Duel.CheckEvent(EVENT_ATTACK_ANNOUNCE) and tp~=Duel.GetTurnPlayer() then
e:SetLabel(1)
Duel.SetTargetCard(Duel.GetAttacker())
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end
end
function c21598948.atktg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
e:SetLabel(1)
Duel.SetTargetCard(Duel.GetAttacker()) Duel.SetTargetCard(Duel.GetAttacker())
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1)
end end
function c21598948.atkop(e,tp,eg,ep,ev,re,r,rp) function c21598948.atkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 or not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
if not a:IsRelateToEffect(e) then return end if not a:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(21598948,4)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(21598948,4))
......
...@@ -54,7 +54,7 @@ function c25704359.cfilter(c,tp) ...@@ -54,7 +54,7 @@ function c25704359.cfilter(c,tp)
and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp
end end
function c25704359.spcon(e,tp,eg,ep,ev,re,r,rp) function c25704359.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c25704359.cfilter,1,nil,tp) return eg:IsExists(c25704359.cfilter,1,nil,tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
end end
function c25704359.spfilter(c,e,tp,att) function c25704359.spfilter(c,e,tp,att)
return c:IsRace(RACE_SPELLCASTER) and c:IsDefense(1500) and c:IsAttribute(att) return c:IsRace(RACE_SPELLCASTER) and c:IsDefense(1500) and c:IsAttribute(att)
......
...@@ -3,7 +3,6 @@ function c26781870.initial_effect(c) ...@@ -3,7 +3,6 @@ function c26781870.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_SELF_TOGRAVE) Duel.EnableGlobalFlag(GLOBALFLAG_SELF_TOGRAVE)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(26781870,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -11,17 +10,14 @@ function c26781870.initial_effect(c) ...@@ -11,17 +10,14 @@ function c26781870.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(26781870,1)) e2:SetDescription(aux.Stringid(26781870,1))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c26781870.condition) e2:SetCondition(c26781870.condition)
e2:SetCost(c26781870.cost)
e2:SetTarget(c26781870.target) e2:SetTarget(c26781870.target)
e2:SetOperation(c26781870.activate) e2:SetOperation(c26781870.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_SZONE)
c:RegisterEffect(e3)
--tograve --tograve
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
...@@ -37,10 +33,6 @@ end ...@@ -37,10 +33,6 @@ end
function c26781870.condition(e,tp,eg,ep,ev,re,r,rp) function c26781870.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c26781870.cfilter,1,nil,tp) return eg:IsExists(c26781870.cfilter,1,nil,tp)
end end
function c26781870.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(26781870)==0 end
e:GetHandler():RegisterFlagEffect(26781870,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c26781870.filter(c) function c26781870.filter(c)
return c:GetSummonLocation()==LOCATION_HAND and c:IsAbleToHand() return c:GetSummonLocation()==LOCATION_HAND and c:IsAbleToHand()
and c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:IsSummonType(SUMMON_TYPE_SPECIAL)
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
function c28265983.initial_effect(c) function c28265983.initial_effect(c)
--activate --activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(28265983,0))
e0:SetType(EFFECT_TYPE_ACTIVATE) e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN) e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0) c:RegisterEffect(e0)
...@@ -10,34 +9,28 @@ function c28265983.initial_effect(c) ...@@ -10,34 +9,28 @@ function c28265983.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(28265983,1)) e1:SetDescription(aux.Stringid(28265983,1))
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_RECOVER) e1:SetCode(EVENT_RECOVER)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1,28265983) e1:SetCountLimit(1,28265983)
e1:SetCondition(c28265983.descon1) e1:SetCondition(c28265983.descon1)
e1:SetTarget(c28265983.destg1) e1:SetTarget(c28265983.destg1)
e1:SetOperation(c28265983.desop1) e1:SetOperation(c28265983.desop1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetRange(LOCATION_SZONE)
c:RegisterEffect(e2)
--destroy --destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(28265983,2)) e3:SetDescription(aux.Stringid(28265983,2))
e3:SetCategory(CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_ACTIVATE) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,28265984) e3:SetCountLimit(1,28265984)
e3:SetCondition(c28265983.descon2) e3:SetCondition(c28265983.descon2)
e3:SetCost(c28265983.descost2) e3:SetCost(c28265983.descost2)
e3:SetTarget(c28265983.destg2) e3:SetTarget(c28265983.destg2)
e3:SetOperation(c28265983.desop2) e3:SetOperation(c28265983.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_SZONE)
c:RegisterEffect(e4)
end end
function c28265983.descon1(e,tp,eg,ep,ev,re,r,rp) function c28265983.descon1(e,tp,eg,ep,ev,re,r,rp)
return ep==tp return ep==tp
...@@ -67,10 +60,9 @@ function c28265983.descon2(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,10 +60,9 @@ function c28265983.descon2(e,tp,eg,ep,ev,re,r,rp)
end end
function c28265983.descost2(e,tp,eg,ep,ev,re,r,rp,chk) function c28265983.descost2(e,tp,eg,ep,ev,re,r,rp,chk)
local lp=Duel.GetLP(tp)-Duel.GetLP(1-tp) local lp=Duel.GetLP(tp)-Duel.GetLP(1-tp)
if chk==0 then return Duel.CheckLPCost(tp,lp) and Duel.GetFlagEffect(tp,28265984)==0 end if chk==0 then return Duel.CheckLPCost(tp,lp) end
Duel.PayLPCost(tp,lp) Duel.PayLPCost(tp,lp)
e:SetLabel(lp) e:SetLabel(lp)
Duel.RegisterFlagEffect(tp,28265984,RESET_PHASE+PHASE_END,0,1)
end end
function c28265983.desfilter2(c,num) function c28265983.desfilter2(c,num)
return c:IsFaceup() and c:IsAttackBelow(num) return c:IsFaceup() and c:IsAttackBelow(num)
......
--竜星の具象化 --竜星の具象化
function c30398342.initial_effect(c) function c30398342.initial_effect(c)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(30398342,1))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--Activate(spsummon)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(30398342,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_DESTROYED) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCondition(c30398342.spcon)
e1:SetCost(c30398342.spcost)
e1:SetTarget(c30398342.sptg1)
e1:SetOperation(c30398342.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -28,8 +15,7 @@ function c30398342.initial_effect(c) ...@@ -28,8 +15,7 @@ function c30398342.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCondition(c30398342.spcon) e2:SetCondition(c30398342.spcon)
e2:SetCost(c30398342.spcost) e2:SetTarget(c30398342.sptg)
e2:SetTarget(c30398342.sptg2)
e2:SetOperation(c30398342.spop) e2:SetOperation(c30398342.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
...@@ -49,20 +35,10 @@ end ...@@ -49,20 +35,10 @@ end
function c30398342.spcon(e,tp,eg,ep,ev,re,r,rp) function c30398342.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c30398342.cfilter,1,nil,tp) return eg:IsExists(c30398342.cfilter,1,nil,tp)
end end
function c30398342.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(30398342)==0 end
e:GetHandler():RegisterFlagEffect(30398342,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c30398342.filter(c,e,tp) function c30398342.filter(c,e,tp)
return c:IsSetCard(0x9e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x9e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c30398342.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c30398342.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c30398342.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c30398342.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c30398342.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c30398342.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
......
...@@ -4,8 +4,6 @@ function c36378044.initial_effect(c) ...@@ -4,8 +4,6 @@ function c36378044.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c36378044.atktg1)
e1:SetOperation(c36378044.atkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--coin --coin
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -14,9 +12,8 @@ function c36378044.initial_effect(c) ...@@ -14,9 +12,8 @@ function c36378044.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetLabel(1)
e2:SetCondition(c36378044.atkcon) e2:SetCondition(c36378044.atkcon)
e2:SetTarget(c36378044.atktg2) e2:SetTarget(c36378044.atktg)
e2:SetOperation(c36378044.atkop) e2:SetOperation(c36378044.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--life lost --life lost
...@@ -31,23 +28,12 @@ c36378044.toss_coin=true ...@@ -31,23 +28,12 @@ c36378044.toss_coin=true
function c36378044.atkcon(e,tp,eg,ep,ev,re,r,rp) function c36378044.atkcon(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer() return tp~=Duel.GetTurnPlayer()
end end
function c36378044.atktg1(e,tp,eg,ep,ev,re,r,rp,chk) function c36378044.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
e:SetLabel(0)
if Duel.CheckEvent(EVENT_ATTACK_ANNOUNCE) and tp~=Duel.GetTurnPlayer()
and Duel.SelectYesNo(tp,aux.Stringid(36378044,1)) then
e:SetLabel(1)
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3)
e:GetHandler():RegisterFlagEffect(36378044,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
else e:SetLabel(0) end
end
function c36378044.atktg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(36378044)==0 end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3)
e:GetHandler():RegisterFlagEffect(36378044,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end end
function c36378044.atkop(e,tp,eg,ep,ev,re,r,rp) function c36378044.atkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 or not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local r1,r2,r3=Duel.TossCoin(tp,3) local r1,r2,r3=Duel.TossCoin(tp,3)
if r1+r2+r3==3 then if r1+r2+r3==3 then
Duel.Draw(tp,3,REASON_EFFECT) Duel.Draw(tp,3,REASON_EFFECT)
......
...@@ -4,9 +4,6 @@ function c36415522.initial_effect(c) ...@@ -4,9 +4,6 @@ function c36415522.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_ATTACK)
e1:SetTarget(c36415522.sptg1)
e1:SetOperation(c36415522.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -14,9 +11,9 @@ function c36415522.initial_effect(c) ...@@ -14,9 +11,9 @@ function c36415522.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(c36415522.spcon) e2:SetCondition(c36415522.spcon)
e2:SetCost(c36415522.spcost) e2:SetTarget(c36415522.sptg)
e2:SetTarget(c36415522.sptg2)
e2:SetOperation(c36415522.spop) e2:SetOperation(c36415522.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--no damage --no damage
...@@ -32,34 +29,17 @@ end ...@@ -32,34 +29,17 @@ end
function c36415522.filter(c,e,tp) function c36415522.filter(c,e,tp)
return c:IsSetCard(0x9f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x9f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c36415522.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if Duel.CheckEvent(EVENT_ATTACK_ANNOUNCE) and Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c36415522.filter,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(36415522,0)) then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
e:GetHandler():RegisterFlagEffect(36415522,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
else
e:SetCategory(0)
end
end
function c36415522.spcon(e,tp,eg,ep,ev,re,r,rp) function c36415522.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil
end end
function c36415522.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c36415522.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(36415522)==0 end
e:GetHandler():RegisterFlagEffect(36415522,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c36415522.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c36415522.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c36415522.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c36415522.spop(e,tp,eg,ep,ev,re,r,rp) function c36415522.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:GetFlagEffect(36415522)==0 then return end if not c:IsRelateToEffect(e) then return end
if not Duel.NegateAttack() then return end if not Duel.NegateAttack() then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
...@@ -80,8 +60,9 @@ function c36415522.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,8 +60,9 @@ function c36415522.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c36415522.atkcost(e,tp,eg,ep,ev,re,r,rp,chk) function c36415522.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end local c=e:GetHandler()
Duel.SendtoGrave(e:GetHandler(),REASON_COST) if chk==0 then return c:IsStatus(STATUS_EFFECT_ENABLED) and c:IsAbleToGraveAsCost() end
Duel.SendtoGrave(c,REASON_COST)
end end
function c36415522.atktg(e,tp,eg,ep,ev,re,r,rp,chk) function c36415522.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
......
...@@ -4,9 +4,6 @@ function c37053871.initial_effect(c) ...@@ -4,9 +4,6 @@ function c37053871.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_MAIN_END)
e1:SetTarget(c37053871.atktg1)
e1:SetOperation(c37053871.atkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--target change --target change
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -15,7 +12,7 @@ function c37053871.initial_effect(c) ...@@ -15,7 +12,7 @@ function c37053871.initial_effect(c)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c37053871.atkcon) e2:SetCondition(c37053871.atkcon)
e2:SetTarget(c37053871.atktg2) e2:SetTarget(c37053871.atktg)
e2:SetOperation(c37053871.atkop) e2:SetOperation(c37053871.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
...@@ -24,21 +21,10 @@ function c37053871.atkcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -24,21 +21,10 @@ function c37053871.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttackTarget() local at=Duel.GetAttackTarget()
return a:IsControler(1-tp) and at and at:IsControler(tp) return a:IsControler(1-tp) and at and at:IsControler(tp)
end end
function c37053871.atktg1(e,tp,eg,ep,ev,re,r,rp,chk) function c37053871.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local a=Duel.GetAttacker
local at=Duel.GetAttackTarget()
e:SetLabel(0)
if Duel.CheckEvent(EVENT_ATTACK_ANNOUNCE) and c37053871.atkcon(e,tp,eg,ep,ev,re,r,rp,chk)
and not Duel.GetAttacker():IsHasEffect(EFFECT_CANNOT_DIRECT_ATTACK) and Duel.SelectYesNo(tp,aux.Stringid(37053871,0)) then
e:SetLabel(1)
end
end
function c37053871.atktg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.GetAttacker():IsHasEffect(EFFECT_CANNOT_DIRECT_ATTACK) end if chk==0 then return not Duel.GetAttacker():IsHasEffect(EFFECT_CANNOT_DIRECT_ATTACK) end
e:SetLabel(1)
end end
function c37053871.atkop(e,tp,eg,ep,ev,re,r,rp) function c37053871.atkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==0 or not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.ChangeAttackTarget(nil) Duel.ChangeAttackTarget(nil)
end end
--空牙団の修練 --空牙団の修練
function c37890974.initial_effect(c) function c37890974.initial_effect(c)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(37890974,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--Activate(spsummon)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(37890974,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCode(EVENT_DESTROYED)
e1:SetCountLimit(1,37890974)
e1:SetTarget(c37890974.sptg)
e1:SetOperation(c37890974.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,7 +4,6 @@ function c39387565.initial_effect(c) ...@@ -4,7 +4,6 @@ function c39387565.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -13,6 +12,7 @@ function c39387565.initial_effect(c) ...@@ -13,6 +12,7 @@ function c39387565.initial_effect(c)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,39387565) e2:SetCountLimit(1,39387565)
e2:SetCondition(c39387565.spcon1) e2:SetCondition(c39387565.spcon1)
e2:SetTarget(c39387565.sptg1) e2:SetTarget(c39387565.sptg1)
......
...@@ -4,11 +4,6 @@ function c44584775.initial_effect(c) ...@@ -4,11 +4,6 @@ function c44584775.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetHintTiming(TIMING_DAMAGE)
e1:SetCondition(c44584775.condition1)
e1:SetTarget(c44584775.target1)
e1:SetOperation(c44584775.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -19,38 +14,15 @@ function c44584775.initial_effect(c) ...@@ -19,38 +14,15 @@ function c44584775.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCondition(c44584775.condition) e2:SetCondition(c44584775.condition)
e2:SetCost(c44584775.cost)
e2:SetTarget(c44584775.target) e2:SetTarget(c44584775.target)
e2:SetOperation(c44584775.activate) e2:SetOperation(c44584775.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c44584775.condition1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentPhase()~=PHASE_DAMAGE then return true end
local res,teg,tep,tev,tre,tr,trp=Duel.CheckEvent(EVENT_BATTLE_DAMAGE,true)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
return res and tep==tp and (a:IsRace(RACE_REPTILE) or (d and d:IsRace(RACE_REPTILE)))
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c44584775.filter,tp,LOCATION_DECK,0,1,nil,e,tp,ev)
end
function c44584775.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if Duel.GetCurrentPhase()==PHASE_DAMAGE then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
e:GetHandler():RegisterFlagEffect(44584775,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
else
e:SetCategory(0)
end
end
function c44584775.condition(e,tp,eg,ep,ev,re,r,rp) function c44584775.condition(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget() local d=Duel.GetAttackTarget()
return ep==tp and (a:IsRace(RACE_REPTILE) or (d and d:IsRace(RACE_REPTILE))) return ep==tp and (a:IsRace(RACE_REPTILE) or (d and d:IsRace(RACE_REPTILE)))
end end
function c44584775.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(44584775)==0 end
e:GetHandler():RegisterFlagEffect(44584775,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c44584775.filter(c,e,tp,dam) function c44584775.filter(c,e,tp,dam)
return c:IsAttackBelow(dam) and c:IsRace(RACE_REPTILE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsAttackBelow(dam) and c:IsRace(RACE_REPTILE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
...@@ -60,7 +32,6 @@ function c44584775.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -60,7 +32,6 @@ function c44584775.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c44584775.activate(e,tp,eg,ep,ev,re,r,rp) function c44584775.activate(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(44584775)==0 then return end
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -9,17 +9,6 @@ function c47598941.initial_effect(c) ...@@ -9,17 +9,6 @@ function c47598941.initial_effect(c)
e0:SetHintTiming(TIMING_DAMAGE_STEP) e0:SetHintTiming(TIMING_DAMAGE_STEP)
e0:SetCondition(c47598941.condition) e0:SetCondition(c47598941.condition)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--Activate(set p)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(47598941,1))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,47598941)
e1:SetCondition(c47598941.setcon)
e1:SetTarget(c47598941.settg1)
e1:SetOperation(c47598941.setop)
c:RegisterEffect(e1)
--set p --set p
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(47598941,1)) e2:SetDescription(aux.Stringid(47598941,1))
...@@ -29,7 +18,7 @@ function c47598941.initial_effect(c) ...@@ -29,7 +18,7 @@ function c47598941.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,47598941) e2:SetCountLimit(1,47598941)
e2:SetCondition(c47598941.setcon) e2:SetCondition(c47598941.setcon)
e2:SetTarget(c47598941.settg2) e2:SetTarget(c47598941.settg)
e2:SetOperation(c47598941.setop) e2:SetOperation(c47598941.setop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk/def down --atk/def down
...@@ -57,12 +46,7 @@ end ...@@ -57,12 +46,7 @@ end
function c47598941.filter(c) function c47598941.filter(c)
return c:IsSetCard(0xe0) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() return c:IsSetCard(0xe0) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end end
function c47598941.settg1(e,tp,eg,ep,ev,re,r,rp,chk) function c47598941.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
and Duel.IsExistingMatchingCard(c47598941.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c47598941.settg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1))
and Duel.IsExistingMatchingCard(c47598941.filter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(c47598941.filter,tp,LOCATION_DECK,0,1,nil) end
end end
......
...@@ -4,7 +4,6 @@ function c49966595.initial_effect(c) ...@@ -4,7 +4,6 @@ function c49966595.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_ATTACK)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -2,10 +2,8 @@ ...@@ -2,10 +2,8 @@
function c51053997.initial_effect(c) function c51053997.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(51053997,0))
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)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--remove --remove
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -88,7 +86,7 @@ function c51053997.cfilter(c,tp) ...@@ -88,7 +86,7 @@ function c51053997.cfilter(c,tp)
return c:IsPreviousSetCard(0xc1) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP) and c:GetPreviousControler()==tp return c:IsPreviousSetCard(0xc1) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP) and c:GetPreviousControler()==tp
end end
function c51053997.spcon(e,tp,eg,ep,ev,re,r,rp) function c51053997.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c51053997.cfilter,1,e:GetHandler(),tp) return eg:IsExists(c51053997.cfilter,1,e:GetHandler(),tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
end end
function c51053997.spfilter(c,e,tp) function c51053997.spfilter(c,e,tp)
return c:IsSetCard(0xc1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xc1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
function c52714670.initial_effect(c) function c52714670.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(52714670,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -10,18 +9,15 @@ function c52714670.initial_effect(c) ...@@ -10,18 +9,15 @@ function c52714670.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(52714670,1)) e2:SetDescription(aux.Stringid(52714670,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,52714670) e2:SetCountLimit(1,52714670)
e2:SetCondition(c52714670.spcon) e2:SetCondition(c52714670.spcon)
e2:SetTarget(c52714670.sptg) e2:SetTarget(c52714670.sptg)
e2:SetOperation(c52714670.spop) e2:SetOperation(c52714670.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_SZONE)
c:RegisterEffect(e3)
--remove --remove
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(52714670,2)) e4:SetDescription(aux.Stringid(52714670,2))
...@@ -87,7 +83,7 @@ function c52714670.rmcfilter(c,tp) ...@@ -87,7 +83,7 @@ function c52714670.rmcfilter(c,tp)
return c:IsControler(tp) and c:IsFaceup() and c:IsSetCard(0x105) return c:IsControler(tp) and c:IsFaceup() and c:IsSetCard(0x105)
end end
function c52714670.rmcon(e,tp,eg,ep,ev,re,r,rp) function c52714670.rmcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c52714670.rmcfilter,1,e:GetHandler(),tp) return eg:IsExists(c52714670.rmcfilter,1,e:GetHandler(),tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
end end
function c52714670.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c52714670.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToRemove() end if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and chkc:IsAbleToRemove() end
......
...@@ -4,8 +4,6 @@ function c5641251.initial_effect(c) ...@@ -4,8 +4,6 @@ function c5641251.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_ATTACK)
e1:SetTarget(c5641251.acttg)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -16,7 +14,6 @@ function c5641251.initial_effect(c) ...@@ -16,7 +14,6 @@ function c5641251.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,5641251) e2:SetCountLimit(1,5641251)
e2:SetCondition(c5641251.spcon) e2:SetCondition(c5641251.spcon)
e2:SetCost(c5641251.spcost)
e2:SetTarget(c5641251.sptg) e2:SetTarget(c5641251.sptg)
e2:SetOperation(c5641251.spop) e2:SetOperation(c5641251.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -31,33 +28,9 @@ function c5641251.initial_effect(c) ...@@ -31,33 +28,9 @@ function c5641251.initial_effect(c)
e3:SetOperation(c5641251.lvlop) e3:SetOperation(c5641251.lvlop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c5641251.acttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
if Duel.CheckEvent(EVENT_ATTACK_ANNOUNCE) then
if c5641251.spcon(e,tp,eg,ep,ev,re,r,rp)
and c5641251.spcost(e,tp,eg,ep,ev,re,r,rp,0)
and c5641251.sptg(e,tp,eg,ep,ev,re,r,rp,0)
and Duel.SelectYesNo(tp,94) then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
e:SetProperty(0)
e:SetOperation(c5641251.spop)
c5641251.spcost(e,tp,eg,ep,ev,re,r,rp,1)
c5641251.sptg(e,tp,eg,ep,ev,re,r,rp,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,65)
return
end
end
e:SetCategory(0)
e:SetProperty(0)
e:SetOperation(nil)
end
function c5641251.spcon(e,tp,eg,ep,ev,re,r,rp) function c5641251.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil return Duel.GetAttacker():IsControler(1-tp) and Duel.GetAttackTarget()==nil
end end
function c5641251.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,5641251)==0 end
Duel.RegisterFlagEffect(tp,5641251,RESET_PHASE+PHASE_END,0,1)
end
function c5641251.spfilter(c,e,tp) function c5641251.spfilter(c,e,tp)
return c:IsSetCard(0x107) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) return c:IsSetCard(0x107) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end end
......
...@@ -5,7 +5,6 @@ function c61965407.initial_effect(c) ...@@ -5,7 +5,6 @@ function c61965407.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_STANDBY_PHASE,TIMING_STANDBY_PHASE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tohand --tohand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
function c69711728.initial_effect(c) function c69711728.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(69711728,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -10,18 +9,14 @@ function c69711728.initial_effect(c) ...@@ -10,18 +9,14 @@ function c69711728.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(69711728,1)) e2:SetDescription(aux.Stringid(69711728,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCost(c69711728.cost) e2:SetCountLimit(1)
e2:SetTarget(c69711728.target) e2:SetTarget(c69711728.target)
e2:SetOperation(c69711728.activate) e2:SetOperation(c69711728.activate)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1)
c:RegisterEffect(e3)
--search --search
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(69711728,2)) e4:SetDescription(aux.Stringid(69711728,2))
...@@ -42,10 +37,6 @@ function c69711728.filter(c,lv,e,tp) ...@@ -42,10 +37,6 @@ function c69711728.filter(c,lv,e,tp)
return c:GetLevel()>0 and c:GetLevel()<lv and c:IsSetCard(0xe1) return c:GetLevel()>0 and c:GetLevel()<lv and c:IsSetCard(0xe1)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c69711728.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(69711728)==0 end
e:GetHandler():RegisterFlagEffect(69711728,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c69711728.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c69711728.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c69711728.filter(chkc,eg:GetFirst():GetLevel(),e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c69711728.filter(chkc,eg:GetFirst():GetLevel(),e,tp) end
if chk==0 then return eg:IsExists(c69711728.cfilter,1,nil,e,tp) if chk==0 then return eg:IsExists(c69711728.cfilter,1,nil,e,tp)
......
...@@ -4,7 +4,6 @@ function c78625592.initial_effect(c) ...@@ -4,7 +4,6 @@ function c78625592.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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_ATTACK)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable attack --disable attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -4,7 +4,6 @@ function c83407038.initial_effect(c) ...@@ -4,7 +4,6 @@ function c83407038.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(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)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -2,10 +2,8 @@ ...@@ -2,10 +2,8 @@
function c84613836.initial_effect(c) function c84613836.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
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)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--宝玉の集結 --宝玉の集結
function c87259933.initial_effect(c) function c87259933.initial_effect(c)
--Activate --Activate
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(87259933,0))
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--Activate(spsummon)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(87259933,1))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_DESTROYED) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCondition(c87259933.spcon)
e1:SetCost(c87259933.spcost)
e1:SetTarget(c87259933.sptg1)
e1:SetOperation(c87259933.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -27,8 +15,7 @@ function c87259933.initial_effect(c) ...@@ -27,8 +15,7 @@ function c87259933.initial_effect(c)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCondition(c87259933.spcon) e2:SetCondition(c87259933.spcon)
e2:SetCost(c87259933.spcost) e2:SetTarget(c87259933.sptg)
e2:SetTarget(c87259933.sptg2)
e2:SetOperation(c87259933.spop) e2:SetOperation(c87259933.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--tohand --tohand
...@@ -51,20 +38,10 @@ end ...@@ -51,20 +38,10 @@ end
function c87259933.spcon(e,tp,eg,ep,ev,re,r,rp) function c87259933.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c87259933.cfilter,1,nil,tp) return eg:IsExists(c87259933.cfilter,1,nil,tp)
end end
function c87259933.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(87259933)==0 end
e:GetHandler():RegisterFlagEffect(87259933,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c87259933.filter(c,e,tp) function c87259933.filter(c,e,tp)
return c:IsSetCard(0x1034) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x1034) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c87259933.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c87259933.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c87259933.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c87259933.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c87259933.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c87259933.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
...@@ -79,8 +56,9 @@ function c87259933.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,8 +56,9 @@ function c87259933.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c87259933.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function c87259933.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end local c=e:GetHandler()
Duel.SendtoGrave(e:GetHandler(),REASON_COST) if chk==0 then return c:IsAbleToGraveAsCost() and c:IsStatus(STATUS_EFFECT_ENABLED) end
Duel.SendtoGrave(c,REASON_COST)
end end
function c87259933.thfilter1(c,rc) function c87259933.thfilter1(c,rc)
return c:IsFaceup() and c:IsSetCard(0x1034) and c:IsAbleToHand() return c:IsFaceup() and c:IsSetCard(0x1034) and c:IsAbleToHand()
......
...@@ -5,7 +5,6 @@ function c94432298.initial_effect(c) ...@@ -5,7 +5,6 @@ function c94432298.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_STANDBY_PHASE,0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--tograve --tograve
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(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