Commit 30c52bb4 authored by salix5's avatar salix5 Committed by GitHub

fix ATK calculating (part 1) (#1776)

* add EFFECT_FLAG2_WICKED, EFFECT_FLAG2_OPTION

* fix EFFECT_SET_ATTACK

* use EFFECT_MATERIAL_CHECK

* update comment
parent f981cdd9
...@@ -6,9 +6,9 @@ function c11738489.initial_effect(c) ...@@ -6,9 +6,9 @@ function c11738489.initial_effect(c)
aux.AddLinkProcedure(c,nil,3,6,c11738489.lcheck) aux.AddLinkProcedure(c,nil,3,6,c11738489.lcheck)
--base atk --base atk
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetOperation(c11738489.atkop) e1:SetValue(c11738489.matcheck)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--immune --immune
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -32,14 +32,13 @@ end ...@@ -32,14 +32,13 @@ end
function c11738489.lcheck(g) function c11738489.lcheck(g)
return g:GetClassCount(Card.GetLinkAttribute)==g:GetCount() return g:GetClassCount(Card.GetLinkAttribute)==g:GetCount()
end end
function c11738489.atkop(e,tp,eg,ep,ev,re,r,rp) function c11738489.matcheck(e,c)
local c=e:GetHandler() local ct=c:GetMaterialCount()
if not c:IsSummonType(SUMMON_TYPE_LINK) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(c:GetMaterialCount()*1000) e1:SetValue(ct*1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c11738489.efilter(e,te) function c11738489.efilter(e,te)
......
...@@ -27,7 +27,9 @@ function c13166648.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,7 +27,9 @@ function c13166648.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c13166648.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c13166648.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK)~=0 then local ss=false
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then
ss=true
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
if a:IsRelateToBattle() and a:IsFaceup() then if a:IsRelateToBattle() and a:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
...@@ -40,13 +42,16 @@ function c13166648.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,13 +42,16 @@ function c13166648.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE) e2:SetCode(EFFECT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2,true) tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler()) local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT) e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3,true) tc:RegisterEffect(e3)
Duel.CalculateDamage(a,tc)
end end
end end
Duel.SpecialSummonComplete()
if ss then
Duel.CalculateDamage(a,tc)
end
end end
...@@ -31,17 +31,13 @@ function c14291024.initial_effect(c) ...@@ -31,17 +31,13 @@ function c14291024.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SET_ATTACK_FINAL) e4:SetCode(EFFECT_SET_ATTACK_FINAL)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE,EFFECT_FLAG2_OPTION)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c14291024.adcon) e4:SetCondition(c14291024.adcon)
e4:SetValue(c14291024.atkval) e4:SetValue(c14291024.atkval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c) local e5=e4:Clone()
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_SET_DEFENSE_FINAL) e5:SetCode(EFFECT_SET_DEFENSE_FINAL)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetCondition(c14291024.adcon)
e5:SetValue(c14291024.defval) e5:SetValue(c14291024.defval)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--destroy --destroy
......
...@@ -14,7 +14,6 @@ function c18590133.initial_effect(c) ...@@ -14,7 +14,6 @@ function c18590133.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCode(EFFECT_SET_ATTACK) e2:SetCode(EFFECT_SET_ATTACK)
e2:SetValue(c18590133.val) e2:SetValue(c18590133.val)
c:RegisterEffect(e2) c:RegisterEffect(e2)
......
...@@ -22,7 +22,7 @@ function c21208154.initial_effect(c) ...@@ -22,7 +22,7 @@ function c21208154.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SET_ATTACK_FINAL) e4:SetCode(EFFECT_SET_ATTACK_FINAL)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_REPEAT+EFFECT_FLAG_DELAY) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE,EFFECT_FLAG2_WICKED)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetValue(c21208154.adval) e4:SetValue(c21208154.adval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
......
...@@ -27,11 +27,10 @@ function c28890974.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,11 +27,10 @@ function c28890974.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(math.ceil(atk/2)) e1:SetValue(math.ceil(atk/2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE) e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
...@@ -40,7 +39,7 @@ function c28890974.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,7 +39,7 @@ function c28890974.activate(e,tp,eg,ep,ev,re,r,rp)
e2:SetOperation(c28890974.desop) e2:SetOperation(c28890974.desop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
e2:SetCountLimit(1) e2:SetCountLimit(1)
tc:RegisterEffect(e2,true) tc:RegisterEffect(e2)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
......
...@@ -51,7 +51,6 @@ function c2948263.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -51,7 +51,6 @@ function c2948263.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(tp,c2948263.spfilter,1,1,nil,ft,tp) local g=Duel.SelectReleaseGroup(tp,c2948263.spfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
local atk=g:GetFirst():GetBaseAttack() local atk=g:GetFirst():GetBaseAttack()
if atk<0 then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
......
...@@ -40,18 +40,17 @@ function c31712840.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,18 +40,17 @@ function c31712840.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c31712840.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c31712840.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
local ss=false
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
ss=true
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(tc:GetAttack()*2) e1:SetValue(tc:GetAttack()*2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1) e2:SetValue(1)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
...@@ -59,6 +58,9 @@ function c31712840.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,6 +58,9 @@ function c31712840.spop(e,tp,eg,ep,ev,re,r,rp)
e3:SetValue(c31712840.indval) e3:SetValue(c31712840.indval)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
tc:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(31712840,1)) tc:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(31712840,1))
end
Duel.SpecialSummonComplete()
if ss then
--to deck top --to deck top
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(31712840,2)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(31712840,2))
local g2=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_DECK,0,1,1,nil) local g2=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_DECK,0,1,1,nil)
...@@ -69,7 +71,6 @@ function c31712840.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,7 +71,6 @@ function c31712840.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmDecktop(tp,1) Duel.ConfirmDecktop(tp,1)
end end
end end
Duel.SpecialSummonComplete()
end end
function c31712840.indval(e,c) function c31712840.indval(e,c)
return not c:IsSetCard(0x48) return not c:IsSetCard(0x48)
......
...@@ -90,7 +90,6 @@ function c31801517.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -90,7 +90,6 @@ function c31801517.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(c:GetAttack()*2) e1:SetValue(c:GetAttack()*2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
......
...@@ -46,15 +46,16 @@ function c32446630.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,15 +46,16 @@ function c32446630.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,32446631,0,TYPES_TOKEN_MONSTER,-2,-2,1,RACE_FIEND,ATTRIBUTE_DARK) then return end if not Duel.IsPlayerCanSpecialSummonMonster(tp,32446631,0,TYPES_TOKEN_MONSTER,-2,-2,1,RACE_FIEND,ATTRIBUTE_DARK) then return end
local token=Duel.CreateToken(tp,32446631) local token=Duel.CreateToken(tp,32446631)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(math.ceil(Duel.GetLP(1-tp)/2)) e1:SetValue(math.ceil(Duel.GetLP(1-tp)/2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1) token:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE) e2:SetCode(EFFECT_SET_DEFENSE)
token:RegisterEffect(e2) token:RegisterEffect(e2)
end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
...@@ -42,14 +42,15 @@ function c39972129.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,14 +42,15 @@ function c39972129.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,39972130,0,TYPES_TOKEN_MONSTER,-2,0,1,RACE_BEAST,ATTRIBUTE_EARTH) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,39972130,0,TYPES_TOKEN_MONSTER,-2,0,1,RACE_BEAST,ATTRIBUTE_EARTH) then return end
local token=Duel.CreateToken(tp,39972130) local token=Duel.CreateToken(tp,39972130)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) then
local g,atk=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil):GetMaxGroup(Card.GetAttack) local g,atk=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil):GetMaxGroup(Card.GetAttack)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(atk) e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1) token:RegisterEffect(e1)
end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
function c39972129.ifilter(c) function c39972129.ifilter(c)
......
...@@ -25,15 +25,16 @@ function c42671151.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -25,15 +25,16 @@ function c42671151.activate(e,tp,eg,ep,ev,re,r,rp)
if rec~=ev or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if rec~=ev or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not Duel.IsPlayerCanSpecialSummonMonster(tp,42671152,0,TYPES_TOKEN_MONSTER,-2,-2,1,RACE_FIEND,ATTRIBUTE_DARK) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,42671152,0,TYPES_TOKEN_MONSTER,-2,-2,1,RACE_FIEND,ATTRIBUTE_DARK) then return end
local token=Duel.CreateToken(tp,42671152) local token=Duel.CreateToken(tp,42671152)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(ev) e1:SetValue(ev)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1,true) token:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE) e2:SetCode(EFFECT_SET_DEFENSE)
token:RegisterEffect(e2,true) token:RegisterEffect(e2)
end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
...@@ -6,9 +6,9 @@ function c4280258.initial_effect(c) ...@@ -6,9 +6,9 @@ function c4280258.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--atk --atk
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetOperation(c4280258.valop) e1:SetValue(c4280258.matcheck)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--negate --negate
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -26,14 +26,13 @@ end ...@@ -26,14 +26,13 @@ end
function c4280258.lcheck(g,lc) function c4280258.lcheck(g,lc)
return g:GetClassCount(Card.GetLinkCode)==g:GetCount() return g:GetClassCount(Card.GetLinkCode)==g:GetCount()
end end
function c4280258.valop(e,tp,eg,ep,ev,re,r,rp) function c4280258.matcheck(e,c)
local c=e:GetHandler() local ct=c:GetMaterialCount()
if not c:IsSummonType(SUMMON_TYPE_LINK) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(c:GetMaterialCount()*800) e1:SetValue(ct*800)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c4280258.condition(e,tp,eg,ep,ev,re,r,rp) function c4280258.condition(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -64,8 +64,6 @@ function c5008836.valcheck(e,c) ...@@ -64,8 +64,6 @@ function c5008836.valcheck(e,c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(atk) e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000) e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -13,9 +13,9 @@ function c58332301.initial_effect(c) ...@@ -13,9 +13,9 @@ function c58332301.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--atk --atk
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetOperation(c58332301.atkop) e3:SetValue(c58332301.matcheck)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Pos Change --Pos Change
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -32,14 +32,12 @@ function c58332301.splimit(e,se,sp,st) ...@@ -32,14 +32,12 @@ function c58332301.splimit(e,se,sp,st)
return se:GetHandler():IsCode(94820406) return se:GetHandler():IsCode(94820406)
or Duel.IsPlayerAffectedByEffect(sp,72043279) and st&SUMMON_TYPE_FUSION==SUMMON_TYPE_FUSION or Duel.IsPlayerAffectedByEffect(sp,72043279) and st&SUMMON_TYPE_FUSION==SUMMON_TYPE_FUSION
end end
function c58332301.atkop(e,tp,eg,ep,ev,re,r,rp) function c58332301.matcheck(e,c)
local c=e:GetHandler()
local g=c:GetMaterial() local g=c:GetMaterial()
local s=0 local s=0
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local a=tc:GetAttack() local a=tc:GetBaseAttack()
if a<0 then a=0 end
s=s+a s=s+a
tc=g:GetNext() tc=g:GetNext()
end end
...@@ -47,7 +45,7 @@ function c58332301.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +45,7 @@ function c58332301.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(s) e1:SetValue(s)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c58332301.postg(e,tp,eg,ep,ev,re,r,rp,chk) function c58332301.postg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -53,22 +53,23 @@ function c60514625.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,22 +53,23 @@ function c60514625.tkop(e,tp,eg,ep,ev,re,r,rp)
local atk=tc:GetAttack() local atk=tc:GetAttack()
local def=tc:GetDefense() local def=tc:GetDefense()
local token=Duel.CreateToken(tp,60514626) local token=Duel.CreateToken(tp,60514626)
Duel.SpecialSummonStep(token,0,p,p,false,false,POS_FACEUP) if Duel.SpecialSummonStep(token,0,p,p,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(atk) e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1) token:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE) e2:SetCode(EFFECT_SET_DEFENSE)
e2:SetValue(def) e2:SetValue(def)
token:RegisterEffect(e2) token:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_DIRECT_ATTACK) e3:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e3,true) token:RegisterEffect(e3)
end
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
......
...@@ -23,7 +23,7 @@ function c62180201.initial_effect(c) ...@@ -23,7 +23,7 @@ function c62180201.initial_effect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_SET_ATTACK_FINAL) e4:SetCode(EFFECT_SET_ATTACK_FINAL)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_DELAY) e4:SetProperty(0,EFFECT_FLAG2_WICKED)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetTarget(c62180201.atktg) e4:SetTarget(c62180201.atktg)
e4:SetValue(c62180201.atkval) e4:SetValue(c62180201.atkval)
......
...@@ -56,18 +56,19 @@ function c62517849.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,18 +56,19 @@ function c62517849.spop(e,tp,eg,ep,ev,re,r,rp)
end end
sc:SetMaterial(Group.FromCards(c)) sc:SetMaterial(Group.FromCards(c))
Duel.Overlay(sc,Group.FromCards(c)) Duel.Overlay(sc,Group.FromCards(c))
Duel.SpecialSummonStep(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummonStep(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(sc:GetAttack()*2) e1:SetValue(sc:GetAttack()*2)
sc:RegisterEffect(e1,true) sc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK) e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e2,true) sc:RegisterEffect(e2)
end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
sc:CompleteProcedure() sc:CompleteProcedure()
end end
......
...@@ -42,11 +42,10 @@ function c63364266.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,11 +42,10 @@ function c63364266.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(math.ceil(atk/2)) e1:SetValue(math.ceil(atk/2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
......
...@@ -43,13 +43,14 @@ function c65500515.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,13 +43,14 @@ function c65500515.seqop(e,tp,eg,ep,ev,re,r,rp)
or not Duel.IsPlayerCanSpecialSummonMonster(tp,65500516,0,TYPES_TOKEN_MONSTER,atk,0,2,RACE_AQUA,ATTRIBUTE_WATER) then return end or not Duel.IsPlayerCanSpecialSummonMonster(tp,65500516,0,TYPES_TOKEN_MONSTER,atk,0,2,RACE_AQUA,ATTRIBUTE_WATER) then return end
Duel.BreakEffect() Duel.BreakEffect()
local token=Duel.CreateToken(tp,65500516) local token=Duel.CreateToken(tp,65500516)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(atk) e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1,true) token:RegisterEffect(e1,true)
end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
function c65500515.atcon(e) function c65500515.atcon(e)
......
...@@ -26,7 +26,6 @@ function c65549080.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -26,7 +26,6 @@ function c65549080.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.SendtoHand(g,nil,REASON_COST) Duel.SendtoHand(g,nil,REASON_COST)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(1700) e1:SetValue(1700)
e1:SetReset(RESET_EVENT+0xff0000) e1:SetReset(RESET_EVENT+0xff0000)
......
...@@ -5,9 +5,9 @@ function c65961683.initial_effect(c) ...@@ -5,9 +5,9 @@ function c65961683.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--Atk --Atk
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetOperation(c65961683.valop) e1:SetValue(c65961683.matcheck)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy --destroy
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -20,15 +20,12 @@ function c65961683.initial_effect(c) ...@@ -20,15 +20,12 @@ function c65961683.initial_effect(c)
e2:SetOperation(c65961683.desop) e2:SetOperation(c65961683.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c65961683.valop(e,tp,eg,ep,ev,re,r,rp) function c65961683.matcheck(e,c)
local c=e:GetHandler()
if not c:IsSummonType(SUMMON_TYPE_SYNCHRO) then return end
local g=c:GetMaterial() local g=c:GetMaterial()
local tc=g:GetFirst() local tc=g:GetFirst()
local atk=0 local atk=0
while tc do while tc do
local tatk=tc:GetTextAttack() local tatk=tc:GetBaseAttack()
if tatk<0 then tatk=0 end
atk=atk+tatk atk=atk+tatk
tc=g:GetNext() tc=g:GetNext()
end end
...@@ -36,7 +33,7 @@ function c65961683.valop(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +33,7 @@ function c65961683.valop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(atk) e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE) e2:SetCode(EFFECT_SET_DEFENSE)
......
...@@ -35,27 +35,30 @@ function c66165755.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,27 +35,30 @@ function c66165755.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 if not tc:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
or not tc:IsCanBeSpecialSummoned(e,0,tp,false,false) then return end or not tc:IsCanBeSpecialSummoned(e,0,tp,false,false) then return end
local e1=Effect.CreateEffect(e:GetHandler()) if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
e1:SetType(EFFECT_TYPE_SINGLE) local atk=tc:GetBaseAttack()
e1:SetCode(EFFECT_SET_ATTACK) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetValue(tc:GetTextAttack()*2) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_PHASE+PHASE_END) e1:SetCode(EFFECT_SET_ATTACK)
tc:RegisterEffect(e1) e1:SetValue(atk*2)
local e2=Effect.CreateEffect(e:GetHandler()) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_PHASE+PHASE_END)
e2:SetType(EFFECT_TYPE_SINGLE) tc:RegisterEffect(e1)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e2:SetType(EFFECT_TYPE_SINGLE)
tc:RegisterEffect(e2) e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
local e3=Effect.CreateEffect(e:GetHandler()) e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) tc:RegisterEffect(e2)
e3:SetRange(LOCATION_MZONE) local e3=Effect.CreateEffect(e:GetHandler())
e3:SetCode(EVENT_PHASE+PHASE_END) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCondition(c66165755.rmcon) e3:SetRange(LOCATION_MZONE)
e3:SetOperation(c66165755.rmop) e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e3:SetCondition(c66165755.rmcon)
e3:SetCountLimit(1) e3:SetOperation(c66165755.rmop)
tc:RegisterEffect(e3) e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) e3:SetCountLimit(1)
tc:RegisterEffect(e3)
end
Duel.SpecialSummonComplete()
end end
function c66165755.rmcon(e,tp,eg,ep,ev,re,r,rp) function c66165755.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
......
...@@ -63,11 +63,12 @@ function c66809920.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,11 +63,12 @@ function c66809920.rmop(e,tp,eg,ep,ev,re,r,rp)
if rc then if rc then
if Duel.Remove(rc,POS_FACEUP,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and c:IsFaceup() then if Duel.Remove(rc,POS_FACEUP,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and c:IsFaceup() then
Duel.BreakEffect() Duel.BreakEffect()
local atk=rc:GetBaseAttack()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(rc:GetBaseAttack())
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
......
...@@ -36,8 +36,8 @@ function c67696066.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,8 +36,8 @@ function c67696066.spop(e,tp,eg,ep,ev,re,r,rp)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE) e2:SetCode(EFFECT_SET_DEFENSE)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
Duel.BreakEffect() Duel.BreakEffect()
Duel.Damage(tp,1000,REASON_EFFECT) Duel.Damage(tp,1000,REASON_EFFECT)
end end
Duel.SpecialSummonComplete()
end end
...@@ -48,25 +48,25 @@ function c67949763.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,25 +48,25 @@ function c67949763.activate(e,tp,eg,ep,ev,re,r,rp)
end end
for i=1,3 do for i=1,3 do
local token=Duel.CreateToken(tp,67949764) local token=Duel.CreateToken(tp,67949764)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) if Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_DIRECT_ATTACK) e1:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1,true) token:RegisterEffect(e1)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UNRELEASABLE_NONSUM) e2:SetCode(EFFECT_UNRELEASABLE_NONSUM)
e2:SetValue(1) e2:SetValue(1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e2,true) token:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler()) local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_ATTACK) e3:SetCode(EFFECT_SET_ATTACK)
e3:SetValue(atk) e3:SetValue(atk)
e3:SetLabelObject(tc) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e3)
token:RegisterEffect(e3,true) end
if cr then if cr then
token:RegisterFlagEffect(67949764,RESET_EVENT+RESETS_STANDARD,0,0,rfid) token:RegisterFlagEffect(67949764,RESET_EVENT+RESETS_STANDARD,0,0,rfid)
tc:CreateRelation(token,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET) tc:CreateRelation(token,RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
......
...@@ -69,7 +69,6 @@ function c70980824.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,7 +69,6 @@ function c70980824.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(3300) e1:SetValue(3300)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
...@@ -91,13 +90,11 @@ function c70980824.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -91,13 +90,11 @@ function c70980824.spop(e,tp,eg,ep,ev,re,r,rp)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE) e3:SetCode(EFFECT_DISABLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
dc:RegisterEffect(e3) dc:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_DISABLE_EFFECT) e4:SetCode(EFFECT_DISABLE_EFFECT)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetValue(RESET_TURN_SET) e4:SetValue(RESET_TURN_SET)
e4:SetReset(RESET_EVENT+RESETS_STANDARD) e4:SetReset(RESET_EVENT+RESETS_STANDARD)
dc:RegisterEffect(e4) dc:RegisterEffect(e4)
......
...@@ -20,7 +20,7 @@ function c74506079.matcheck(e,c) ...@@ -20,7 +20,7 @@ function c74506079.matcheck(e,c)
ae:SetType(EFFECT_TYPE_SINGLE) ae:SetType(EFFECT_TYPE_SINGLE)
ae:SetCode(EFFECT_SET_ATTACK) ae:SetCode(EFFECT_SET_ATTACK)
ae:SetValue(ct*500) ae:SetValue(ct*500)
ae:SetReset(RESET_EVENT+0xff0000) ae:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(ae) c:RegisterEffect(ae)
end end
if ct>=2 then if ct>=2 then
......
...@@ -29,13 +29,13 @@ function c78552773.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -29,13 +29,13 @@ function c78552773.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c78552773.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c78552773.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local atk=tc:GetAttack()
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(tc:GetAttack()*2) e1:SetValue(atk*2)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1)
Duel.SpecialSummonComplete()
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
...@@ -45,6 +45,7 @@ function c78552773.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,6 +45,7 @@ function c78552773.spop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCountLimit(1) e2:SetCountLimit(1)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
end end
Duel.SpecialSummonComplete()
end end
function c78552773.retop(e,tp,eg,ep,ev,re,r,rp) function c78552773.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT) Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
......
...@@ -43,11 +43,10 @@ function c79928401.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,11 +43,10 @@ function c79928401.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(math.ceil(atk*2)) e1:SetValue(math.ceil(atk*2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1)
local lp=Duel.GetLP(tp)-tc:GetBaseAttack() local lp=Duel.GetLP(tp)-tc:GetBaseAttack()
Duel.SetLP(tp,lp) Duel.SetLP(tp,lp)
end end
......
...@@ -67,8 +67,6 @@ function c80887952.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,8 +67,6 @@ function c80887952.spop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) then if c:IsRelateToEffect(e) and Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(300) e1:SetValue(300)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -60,11 +60,10 @@ function c83866861.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,11 +60,10 @@ function c83866861.spop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(math.ceil(atk/2)) e1:SetValue(math.ceil(atk/2))
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
......
...@@ -51,18 +51,18 @@ function c8967776.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,18 +51,18 @@ function c8967776.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_ATTACK) e3:SetCode(EFFECT_SET_ATTACK)
e3:SetValue(4000) e3:SetValue(4000)
e3:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
......
...@@ -52,17 +52,15 @@ function c96699830.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,17 +52,15 @@ function c96699830.activate(e,tp,eg,ep,ev,re,r,rp)
local val=e:GetLabel()*500 local val=e:GetLabel()*500
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c96699830.efilter) e1:SetValue(c96699830.efilter)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_ATTACK) e2:SetCode(EFFECT_SET_ATTACK)
e2:SetValue(val) e2:SetValue(val)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EFFECT_SET_DEFENSE) e3:SetCode(EFFECT_SET_DEFENSE)
......
...@@ -300,12 +300,12 @@ EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压) ...@@ -300,12 +300,12 @@ EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT =0x2000 --若由复制的效果產生則继承其Reset属性 EFFECT_FLAG_COPY_INHERIT =0x2000 --若由复制的效果產生則继承其Reset属性
EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动 EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动 EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动
EFFECT_FLAG_DELAY =0x10000 --場合型誘發效果、用於永續效果的EFFECT_TYPE_CONTINUOUS、神之化身/恐惧之源的攻击力变化最后计算 EFFECT_FLAG_DELAY =0x10000 --場合型誘發效果、用於永續效果的EFFECT_TYPE_CONTINUOUS
EFFECT_FLAG_SINGLE_RANGE =0x20000 --只对自己有效 EFFECT_FLAG_SINGLE_RANGE =0x20000 --只对自己有效
EFFECT_FLAG_UNCOPYABLE =0x40000 --不能复制的原始效果(效果外文本) EFFECT_FLAG_UNCOPYABLE =0x40000 --不能复制的原始效果(效果外文本)
EFFECT_FLAG_OATH =0x80000 --誓约效果 EFFECT_FLAG_OATH =0x80000 --誓约效果
EFFECT_FLAG_SPSUM_PARAM =0x100000 --指定召喚/规则特殊召唤的位置和表示形式(熔岩魔神) EFFECT_FLAG_SPSUM_PARAM =0x100000 --指定召喚/规则特殊召唤的位置和表示形式(熔岩魔神)
EFFECT_FLAG_REPEAT =0x200000 --神之化身的攻击力重复计算 EFFECT_FLAG_REPEAT =0x200000 --N/A
EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动一次”的效果 EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动一次”的效果
EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?) EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?)
EFFECT_FLAG_OWNER_RELATE =0x1000000 --与效果owner关联的效果 EFFECT_FLAG_OWNER_RELATE =0x1000000 --与效果owner关联的效果
...@@ -319,6 +319,9 @@ EFFECT_FLAG_IMMEDIATELY_APPLY =0x80000000 --卡在发动时效果就立即适用 ...@@ -319,6 +319,9 @@ EFFECT_FLAG_IMMEDIATELY_APPLY =0x80000000 --卡在发动时效果就立即适用
EFFECT_FLAG2_MILLENNIUM_RESTRICT =0x0001 --N/A EFFECT_FLAG2_MILLENNIUM_RESTRICT =0x0001 --N/A
EFFECT_FLAG2_COF =0x0002 --通常魔法卡在MP1以外发动(邪恶的仪式的特殊处理) EFFECT_FLAG2_COF =0x0002 --通常魔法卡在MP1以外发动(邪恶的仪式的特殊处理)
EFFECT_FLAG2_WICKED =0x0004 --神之化身/恐惧之源的攻击力变化最后计算
EFFECT_FLAG2_OPTION =0x0008 --子機
--========== Codes ========== --对永续性效果表示效果类型(EFFECT开头),对诱发型效果表示触发效果的事件/时点(EVENT开头) --========== Codes ========== --对永续性效果表示效果类型(EFFECT开头),对诱发型效果表示触发效果的事件/时点(EVENT开头)
EFFECT_IMMUNE_EFFECT =1 --效果免疫 EFFECT_IMMUNE_EFFECT =1 --效果免疫
EFFECT_DISABLE =2 --效果无效(技能抽取) EFFECT_DISABLE =2 --效果无效(技能抽取)
...@@ -408,19 +411,19 @@ EFFECT_MSET_COST =94 --怪兽放置代价 ...@@ -408,19 +411,19 @@ EFFECT_MSET_COST =94 --怪兽放置代价
EFFECT_SSET_COST =95 --魔陷放置代价 EFFECT_SSET_COST =95 --魔陷放置代价
EFFECT_ATTACK_COST =96 --攻击代价(霞之谷猎鹰) EFFECT_ATTACK_COST =96 --攻击代价(霞之谷猎鹰)
EFFECT_UPDATE_ATTACK =100 --改变攻击力(攻击力增加/减少) EFFECT_UPDATE_ATTACK =100 --增减攻击力
EFFECT_SET_ATTACK =101 --设置攻击力(永續型效果、攻擊力變成X特殊召喚) EFFECT_SET_ATTACK =101 --设置自身攻击力、攻击力变成X特殊召唤、持续改变攻击力
EFFECT_SET_ATTACK_FINAL =102 --设置最终攻击力(所有入連鎖的改變攻擊力) EFFECT_SET_ATTACK_FINAL =102 --暂时改变攻击力(所有置入连锁的效果)
EFFECT_SET_BASE_ATTACK =103 --设置原本攻击力 EFFECT_SET_BASE_ATTACK =103 --设置自身原本攻击力、持续改变原本攻击力
EFFECT_UPDATE_DEFENSE =104 --改变防御 EFFECT_UPDATE_DEFENSE =104 --增减守备
EFFECT_SET_DEFENSE =105 --设置防御 EFFECT_SET_DEFENSE =105 --设置自身守备力、守备力变成X特殊召唤、持续改变守备
EFFECT_SET_DEFENSE_FINAL =106 --设置最终防御力 EFFECT_SET_DEFENSE_FINAL =106 --暂时改变守备力(所有置入连锁的效果)
EFFECT_SET_BASE_DEFENSE =107 --设置原本防御 EFFECT_SET_BASE_DEFENSE =107 --设置自身原本守备力、持续改变原本守备
EFFECT_REVERSE_UPDATE =108 --倒置改变攻击力、防御力(天邪鬼) EFFECT_REVERSE_UPDATE =108 --倒置增减攻击力、防御力(天邪鬼)
EFFECT_SWAP_AD =109 --交换攻(超級漏洞人) EFFECT_SWAP_AD =109 --交换攻(超級漏洞人)
EFFECT_SWAP_BASE_AD =110 --交换原本攻 EFFECT_SWAP_BASE_AD =110 --交换原本攻
EFFECT_SWAP_ATTACK_FINAL =111 --N/A EFFECT_SET_BASE_ATTACK_FINAL =111 --暂时改变原本攻击力
EFFECT_SWAP_DEFENSE_FINAL =112 --N/A EFFECT_SET_BASE_DEFENSE_FINAL =112 --暂时改变原本防御力
EFFECT_ADD_CODE =113 --增加卡名 EFFECT_ADD_CODE =113 --增加卡名
EFFECT_CHANGE_CODE =114 --改变卡名 EFFECT_CHANGE_CODE =114 --改变卡名
EFFECT_ADD_TYPE =115 --增加卡片种类(types) EFFECT_ADD_TYPE =115 --增加卡片种类(types)
......
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