Commit 514aaa2f authored by salix5's avatar salix5

fix

41620959  竜の霊廟
87025064  銀龍の轟咆
Now the RegisterFlagEffect() is changed into EFFECT_FLAG_OATH, as all
other "once pre turn" effect.

47942531  偉大魔獣 ガーゼット
6614221  霧の王
8794435  合成魔獣 ガーゼット
Now the atk setting effect will not apply when the player choose to
"set" while advance summoning.(According to Konami database)

88071625  The tyrant NEPTUNE
According to its text, it can be "set" using 1 tribute since "advance
summon" contains "summon" and "set" using tribute.
Now it can be "set" using 1 tribute correctly.
Also, the atk updating effect will not apply when the player choose to
"set" while advance summoning.

83986578  王虎ワンフー
Now its effect will not triggered when this card itself is summoned with
atk less than 1400.
parent 442c5bc6
......@@ -12,7 +12,7 @@ function c41620959.initial_effect(c)
end
function c41620959.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,41620959)==0 end
Duel.RegisterFlagEffect(tp,41620959,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,41620959,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c41620959.tgfilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAbleToGrave()
......
......@@ -6,6 +6,13 @@ function c47942531.initial_effect(c)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(c47942531.valcheck)
c:RegisterEffect(e1)
--give atk effect only when summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SUMMON_COST)
e2:SetOperation(c47942531.facechk)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
end
function c47942531.valcheck(e,c)
local tc=c:GetMaterial():GetFirst()
......@@ -13,12 +20,17 @@ function c47942531.valcheck(e,c)
if tc then atk=tc:GetTextAttack()*2 end
if atk<0 then atk=0 end
--atk continuous effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
if e:GetLabel()==1 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
end
function c47942531.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
end
......@@ -12,14 +12,21 @@ function c6614221.initial_effect(c)
e2:SetCode(EFFECT_MATERIAL_CHECK)
e2:SetValue(c6614221.valcheck)
c:RegisterEffect(e2)
--cannot release
--give atk effect only when summon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_CANNOT_RELEASE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,1)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SUMMON_COST)
e3:SetOperation(c6614221.facechk)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
--cannot release
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_CANNOT_RELEASE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,1)
c:RegisterEffect(e4)
end
function c6614221.valcheck(e,c)
local g=c:GetMaterial()
......@@ -30,13 +37,17 @@ function c6614221.valcheck(e,c)
atk=atk+(catk>=0 and catk or 0)
tc=g:GetNext()
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
if e:GetLabel()==1 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
end
function c6614221.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
end
......@@ -19,7 +19,7 @@ function c83986578.cfilter(c)
return c:IsFaceup() and c:IsAttackBelow(1400)
end
function c83986578.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c83986578.cfilter,1,nil)
return eg:IsExists(c83986578.cfilter,1,nil) and not eg:IsContains(e:GetHandler())
end
function c83986578.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......
......@@ -13,7 +13,7 @@ function c87025064.initial_effect(c)
end
function c87025064.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,87025064)==0 end
Duel.RegisterFlagEffect(tp,87025064,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,87025064,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c87025064.filter(c,e,tp)
return c:IsRace(RACE_DRAGON) and c:IsType(TYPE_NORMAL) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -6,6 +6,13 @@ function c8794435.initial_effect(c)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(c8794435.valcheck)
c:RegisterEffect(e1)
--give atk effect only when summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SUMMON_COST)
e2:SetOperation(c8794435.facechk)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
end
function c8794435.valcheck(e,c)
local g=c:GetMaterial()
......@@ -16,13 +23,18 @@ function c8794435.valcheck(e,c)
atk=atk+(catk>=0 and catk or 0)
tc=g:GetNext()
end
--atk continuous effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
if e:GetLabel()==1 then
--atk continuous effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
end
function c8794435.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
end
......@@ -7,7 +7,7 @@ function c88071625.initial_effect(c)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--summon with 1 tribute
--summon/set with 1 tribute
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(88071625,0))
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
......@@ -17,22 +17,32 @@ function c88071625.initial_effect(c)
e2:SetOperation(c88071625.otop)
e2:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e2)
--tribute check
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetValue(c88071625.valcheck)
local e3=e2:Clone()
e3:SetCode(EFFECT_SET_PROC)
c:RegisterEffect(e3)
--copy
--tribute check
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(88071625,1))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetCondition(c88071625.copycon)
e4:SetTarget(c88071625.copytg)
e4:SetOperation(c88071625.copyop)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_MATERIAL_CHECK)
e4:SetValue(c88071625.valcheck)
c:RegisterEffect(e4)
--give atk effect only when summon
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SUMMON_COST)
e5:SetOperation(c88071625.facechk)
e5:SetLabelObject(e4)
c:RegisterEffect(e5)
--copy
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(88071625,1))
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET)
e6:SetCode(EVENT_SUMMON_SUCCESS)
e6:SetCondition(c88071625.copycon)
e6:SetTarget(c88071625.copytg)
e6:SetOperation(c88071625.copyop)
c:RegisterEffect(e6)
end
function c88071625.otcon(e,c)
if c==nil then return true end
......@@ -55,20 +65,25 @@ function c88071625.valcheck(e,c)
def=def+(cdef>=0 and cdef or 0)
tc=g:GetNext()
end
--atk continuous effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
--def continuous effect
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENCE)
e2:SetValue(def)
c:RegisterEffect(e2)
if e:GetLabel()==1 then
--atk continuous effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
--def continuous effect
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENCE)
e2:SetValue(def)
c:RegisterEffect(e2)
end
end
function c88071625.facechk(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(1)
end
function c88071625.copycon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_ADVANCE
......
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