Commit 880a1232 authored by salix5's avatar salix5

Merge pull request #115 from DailyShana/patch-3

fix "activated this turn"
parents 63a34e81 6a3e9a18
...@@ -7,7 +7,7 @@ function c17330916.initial_effect(c) ...@@ -7,7 +7,7 @@ function c17330916.initial_effect(c)
e1:SetDescription(aux.Stringid(17330916,0)) e1:SetDescription(aux.Stringid(17330916,0))
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c17330916.regop) e1:SetCost(c17330916.reg)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--scale --scale
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -31,23 +31,27 @@ function c17330916.initial_effect(c) ...@@ -31,23 +31,27 @@ function c17330916.initial_effect(c)
e4:SetTarget(c17330916.lvtg) e4:SetTarget(c17330916.lvtg)
e4:SetOperation(c17330916.lvop) e4:SetOperation(c17330916.lvop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--to hand
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_IGNITION)
e5:SetRange(LOCATION_PZONE)
e5:SetCountLimit(1,17330916)
e5:SetCondition(c17330916.thcon)
e5:SetTarget(c17330916.thtg)
e5:SetOperation(c17330916.thop)
c:RegisterEffect(e5)
end end
function c17330916.sccon(e) function c17330916.sccon(e)
local seq=e:GetHandler():GetSequence() local seq=e:GetHandler():GetSequence()
local tc=Duel.GetFieldCard(e:GetHandlerPlayer(),LOCATION_SZONE,13-seq) local tc=Duel.GetFieldCard(e:GetHandlerPlayer(),LOCATION_SZONE,13-seq)
return not tc or not tc:IsSetCard(0x9f) return not tc or not tc:IsSetCard(0x9f)
end end
function c17330916.regop(e,tp,eg,ep,ev,re,r,rp) function c17330916.reg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return true end
if not c:IsRelateToEffect(e) then return end e:GetHandler():RegisterFlagEffect(17330916,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
local e1=Effect.CreateEffect(c) end
e1:SetType(EFFECT_TYPE_IGNITION) function c17330916.thcon(e,tp,eg,ep,ev,re,r,rp)
e1:SetCountLimit(1,17330916) return e:GetHandler():GetFlagEffect(17330916)~=0
e1:SetRange(LOCATION_PZONE)
e1:SetTarget(c17330916.thtg)
e1:SetOperation(c17330916.thop)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end end
function c17330916.thfilter(c) function c17330916.thfilter(c)
return c:IsLevelBelow(4) and c:IsSetCard(0x9f) and c:IsAbleToHand() return c:IsLevelBelow(4) and c:IsSetCard(0x9f) and c:IsAbleToHand()
......
...@@ -6,23 +6,28 @@ function c43785278.initial_effect(c) ...@@ -6,23 +6,28 @@ function c43785278.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:SetOperation(c43785278.regop) e1:SetCost(c43785278.reg)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(43785278,0))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(c43785278.descon)
e2:SetTarget(c43785278.destg)
e2:SetOperation(c43785278.desop)
c:RegisterEffect(e2)
end end
function c43785278.regop(e,tp,eg,ep,ev,re,r,rp) function c43785278.reg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() if chk==0 then return true end
local e1=Effect.CreateEffect(c) e:GetHandler():RegisterFlagEffect(43785278,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
e1:SetDescription(aux.Stringid(43785278,0)) end
e1:SetCategory(CATEGORY_DESTROY) function c43785278.descon(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) return e:GetHandler():GetFlagEffect(43785278)~=0
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_PZONE)
e1:SetTarget(c43785278.destg)
e1:SetOperation(c43785278.desop)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end end
function c43785278.filter(c) function c43785278.filter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable() return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable()
......
...@@ -6,7 +6,7 @@ function c97466438.initial_effect(c) ...@@ -6,7 +6,7 @@ function c97466438.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:SetOperation(c97466438.regop) e1:SetCost(c97466438.reg)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -20,20 +20,23 @@ function c97466438.initial_effect(c) ...@@ -20,20 +20,23 @@ function c97466438.initial_effect(c)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end
function c97466438.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
--disable zone --disable zone
local e1=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(97466438,1)) e4:SetDescription(aux.Stringid(97466438,1))
e1:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_PZONE) e4:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1) e4:SetCountLimit(1)
e1:SetTarget(c97466438.ztg) e4:SetCondition(c97466438.zcon)
e1:SetOperation(c97466438.zop) e4:SetTarget(c97466438.ztg)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e4:SetOperation(c97466438.zop)
c:RegisterEffect(e1) c:RegisterEffect(e4)
end
function c97466438.reg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
e:GetHandler():RegisterFlagEffect(97466438,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c97466438.zcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(97466438)~=0
end end
function c97466438.ztg(e,tp,eg,ep,ev,re,r,rp,chk) function c97466438.ztg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)+Duel.GetLocationCount(1-tp,LOCATION_MZONE) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)+Duel.GetLocationCount(1-tp,LOCATION_MZONE)
......
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