Commit f294e522 authored by DailyShana's avatar DailyShana
parent ca17cf62
...@@ -220,7 +220,7 @@ int32 effect::is_activateable(uint8 playerid, const tevent& e, int32 neglect_con ...@@ -220,7 +220,7 @@ int32 effect::is_activateable(uint8 playerid, const tevent& e, int32 neglect_con
if(!(flag & EFFECT_FLAG_AVAILABLE_BD) && (type & EFFECT_TYPE_FIELD) && handler->is_status(STATUS_BATTLE_DESTROYED)) if(!(flag & EFFECT_FLAG_AVAILABLE_BD) && (type & EFFECT_TYPE_FIELD) && handler->is_status(STATUS_BATTLE_DESTROYED))
return FALSE; return FALSE;
if(((type & EFFECT_TYPE_FIELD) || ((type & EFFECT_TYPE_SINGLE) && (flag & EFFECT_FLAG_SINGLE_RANGE))) && (handler->current.location & LOCATION_ONFIELD) if(((type & EFFECT_TYPE_FIELD) || ((type & EFFECT_TYPE_SINGLE) && (flag & EFFECT_FLAG_SINGLE_RANGE))) && (handler->current.location & LOCATION_ONFIELD)
&& (!handler->is_position(POS_FACEUP) || !handler->is_status(STATUS_EFFECT_ENABLED))) && !(flag & EFFECT_FLAG_SET_AVAILABLE) && (!handler->is_position(POS_FACEUP) || !handler->is_status(STATUS_EFFECT_ENABLED)))
return FALSE; return FALSE;
if((type & EFFECT_TYPE_SINGLE) && (flag & EFFECT_FLAG_SINGLE_RANGE) && !in_range(handler->current.location, handler->current.sequence)) if((type & EFFECT_TYPE_SINGLE) && (flag & EFFECT_FLAG_SINGLE_RANGE) && !in_range(handler->current.location, handler->current.sequence))
return FALSE; return FALSE;
......
...@@ -38,7 +38,7 @@ function c10000080.initial_effect(c) ...@@ -38,7 +38,7 @@ function c10000080.initial_effect(c)
e5:SetCode(EVENT_PHASE+PHASE_END) e5:SetCode(EVENT_PHASE+PHASE_END)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1) e5:SetCountLimit(1)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_SET_AVAILABLE)
e5:SetCondition(c10000080.retcon) e5:SetCondition(c10000080.retcon)
e5:SetOperation(c10000080.retop) e5:SetOperation(c10000080.retop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
...@@ -77,6 +77,7 @@ function c10000080.ttop1(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -77,6 +77,7 @@ function c10000080.ttop1(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectTribute(tp,c,3,3) local g=Duel.SelectTribute(tp,c,3,3)
c:SetMaterial(g) c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL) Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
c:RegisterFlagEffect(10000080,RESET_EVENT+0xfc0000,0,1)
end end
function c10000080.ttcon2(e,c) function c10000080.ttcon2(e,c)
if c==nil then return true end if c==nil then return true end
...@@ -89,6 +90,7 @@ function c10000080.ttop2(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -89,6 +90,7 @@ function c10000080.ttop2(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectTribute(tp,c,3,3,mg,true) local g=Duel.SelectTribute(tp,c,3,3,mg,true)
c:SetMaterial(g) c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL) Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
c:RegisterFlagEffect(10000080,RESET_EVENT+0xfc0000,0,1)
end end
function c10000080.setcon(e,c) function c10000080.setcon(e,c)
if not c then return true end if not c then return true end
...@@ -96,11 +98,10 @@ function c10000080.setcon(e,c) ...@@ -96,11 +98,10 @@ function c10000080.setcon(e,c)
end end
function c10000080.retcon(e,tp,eg,ep,ev,re,r,rp) function c10000080.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return bit.band(c:GetSummonType(),SUMMON_TYPE_NORMAL)~=0 and Duel.GetTurnCount()==c:GetTurnID()+1 return c:GetFlagEffect(10000080)~=0 and Duel.GetTurnCount()==c:GetTurnID()+1
end end
function c10000080.retop(e,tp,eg,ep,ev,re,r,rp) function c10000080.retop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() e:GetHandler():ResetEffect(EFFECT_SET_CONTROL,RESET_CODE)
Duel.GetControl(c,c:GetOwner())
end end
function c10000080.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c10000080.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end if chk==0 then return e:GetHandler():IsReleasable() end
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
function c14057297.initial_effect(c) function c14057297.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,14057297+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,14057297+EFFECT_COUNT_CODE_OATH)
...@@ -16,6 +16,9 @@ function c14057297.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -16,6 +16,9 @@ function c14057297.condition(e,tp,eg,ep,ev,re,r,rp)
end end
function c14057297.target(e,tp,eg,ep,ev,re,r,rp,chk) function c14057297.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,5) and Duel.IsPlayerCanDraw(1-tp,5) end if chk==0 then return Duel.IsPlayerCanDraw(tp,5) and Duel.IsPlayerCanDraw(1-tp,5) end
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,PLAYER_ALL,5)
end end
function c14057297.activate(e,tp,eg,ep,ev,re,r,rp) function c14057297.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_HAND,LOCATION_HAND)==0 then return end if Duel.GetFieldGroupCount(tp,LOCATION_HAND,LOCATION_HAND)==0 then return end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment