Commit 96a8c07e authored by 伊蕾娜's avatar 伊蕾娜

fix:金子更新包:修复金卡bug

parent 80a6154b
Pipeline #14781 passed with stage
in 52 seconds
......@@ -46,10 +46,10 @@ function c22234.mfilter1(c)
return c:IsRace(RACE_SPELLCASTER)
end
function c22234.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) or ((c:IsSetCard(0x183) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_LIGHT) or ((c:IsFusionSetCard(0x183) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22251))
end
function c22234.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_EARTH) or ((c:IsSetCard(0x182) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_EARTH) or ((c:IsFusionSetCard(0x182) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and (Duel.IsPlayerAffectedByEffect(c:GetControler(),22250) or Duel.IsPlayerAffectedByEffect(c:GetControler(),22252)))
end
function c22234.filter(c)
return c:IsSetCard(0xb046) and c:IsAbleToHand()
......
......@@ -44,10 +44,10 @@ function c22236.mfilter1(c)
return c:IsRace(RACE_SPELLCASTER)
end
function c22236.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_DARK) or ((c:IsSetCard(0x184) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_DARK) or ((c:IsFusionSetCard(0x184) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and (Duel.IsPlayerAffectedByEffect(c:GetControler(),22249) or Duel.IsPlayerAffectedByEffect(c:GetControler(),22251)))
end
function c22236.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_EARTH) or ((c:IsSetCard(0x182) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_EARTH) or ((c:IsFusionSetCard(0x182) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and (Duel.IsPlayerAffectedByEffect(c:GetControler(),22250) or Duel.IsPlayerAffectedByEffect(c:GetControler(),22252)))
end
function c22236.thfilter1(c)
return c:IsSetCard(0xb046) and c:IsAbleToHand()
......
......@@ -39,13 +39,13 @@ function c22238.initial_effect(c)
end
--
function c22238.mfilter1(c)
return c:IsAttribute(ATTRIBUTE_WIND) or ((c:IsSetCard(0x180) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_WIND) or ((c:IsFusionSetCard(0x180) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22252))
end
function c22238.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_WATER) or ((c:IsSetCard(0x179) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_WATER) or ((c:IsFusionSetCard(0x179) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and (Duel.IsPlayerAffectedByEffect(c:GetControler(),22249) or Duel.IsPlayerAffectedByEffect(c:GetControler(),22252)))
end
function c22238.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_FIRE) or ((c:IsSetCard(0x178) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_FIRE) or ((c:IsFusionSetCard(0x178) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and (Duel.IsPlayerAffectedByEffect(c:GetControler(),22249) or Duel.IsPlayerAffectedByEffect(c:GetControler(),22250)))
end
--
function c22238.filters(c)
......
......@@ -39,13 +39,13 @@ function c22240.initial_effect(c)
end
--
function c22240.mfilter1(c)
return c:IsAttribute(ATTRIBUTE_DARK) or ((c:IsSetCard(0x184) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_DARK) or ((c:IsFusionSetCard(0x184) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and (Duel.IsPlayerAffectedByEffect(c:GetControler(),22249) or Duel.IsPlayerAffectedByEffect(c:GetControler(),22251)))
end
function c22240.mfilter2(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) or ((c:IsSetCard(0x183) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_LIGHT) or ((c:IsFusionSetCard(0x183) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22251))
end
function c22240.mfilter3(c)
return c:IsAttribute(ATTRIBUTE_WIND) or ((c:IsSetCard(0x180) or c:IsCode(22200)) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22249))
return c:IsAttribute(ATTRIBUTE_WIND) or ((c:IsFusionSetCard(0x180) or (c:IsFusionCode(22200) and not c:IsLocation(LOCATION_DECK))) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22248)) or (c:IsFusionCode(22200) and Duel.IsPlayerAffectedByEffect(c:GetControler(),22252))
end
--
function c22240.filter(c)
......
......@@ -83,7 +83,7 @@ function c22249.tsfilter30(c,e,tp,m,f,chkf,exg)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22249.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22249.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_DECK+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22249.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22249.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsSetCard(0x184) or c:IsCode(22200)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22249.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
......@@ -137,9 +137,15 @@ function c22249.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetCode(22248)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(22249)
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22249.filter1,nil,e)
......@@ -178,6 +184,7 @@ function c22249.activate(e,tp,eg,ep,ev,re,r,rp)
end
--flag reset
e1:Reset()
e2:Reset()
end
function c22249.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -82,7 +82,7 @@ function c22250.tsfilter30(c,e,tp,m,f,chkf,exg)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22250.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22250.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22250.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22250.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER))or c:IsSetCard(0x184) or c:IsCode(22200)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22250.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
......@@ -136,9 +136,15 @@ function c22250.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22250)
e1:SetCode(22248)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(22250)
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22250.filter1,nil,e)
......@@ -177,6 +183,7 @@ function c22250.activate(e,tp,eg,ep,ev,re,r,rp)
end
--flag reset
e1:Reset()
e2:Reset()
end
function c22250.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -82,7 +82,7 @@ function c22251.tsfilter30(c,e,tp,m,f,chkf,exg)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22251.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c) and Duel.IsExistingMatchingCard(c22251.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and not c:IsLocation(LOCATION_DECK) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c) and Duel.IsExistingMatchingCard(c22251.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
end
function c22251.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x184) or c:IsCode(22200)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22251.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD+LOCATION_DECK,0,1,c)
......@@ -136,9 +136,15 @@ function c22251.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetCode(22248)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(22251)
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22251.filter1,nil,e)
......@@ -177,6 +183,7 @@ function c22251.activate(e,tp,eg,ep,ev,re,r,rp)
end
--flag reset
e1:Reset()
e2:Reset()
end
function c22251.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -82,7 +82,7 @@ function c22252.tsfilter30(c,e,tp,m,f,chkf,exg)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
end
function c22252.tsfilter31(c)
return((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22252.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
return ((c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x180) or c:IsCode(22200)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter32,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c) and Duel.IsExistingMatchingCard(c22252.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
end
function c22252.tsfilter32(c)
return ((c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER)) or c:IsSetCard(0x184) or c:IsCode(22200)) and Duel.GetLocationCountFromEx(c:GetControler(),c:GetControler(),c,TYPE_FUSION)>0 and Duel.IsExistingMatchingCard(c22252.tsfilter33,c:GetControler(),LOCATION_HAND+LOCATION_ONFIELD,0,1,c)
......@@ -136,9 +136,15 @@ function c22252.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(22249)
e1:SetCode(22248)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(22252)
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
--
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c22252.filter1,nil,e)
......@@ -177,6 +183,7 @@ function c22252.activate(e,tp,eg,ep,ev,re,r,rp)
end
--flag reset
e1:Reset()
e2:Reset()
end
function c22252.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
......
......@@ -38,17 +38,16 @@ function c86379106.op(e,tp,eg,ep,ev,re,r,rp)
if g4:GetCount()>1 then
Duel.ShuffleSetCard(g4)
end
local fid=e:GetHandler():GetFieldID()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(86379106,0))
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(e:GetHandler())
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetOperation(c86379106.setop)
Duel.RegisterEffect(e1,tp)
e:GetHandler():RegisterFlagEffect(86379106,RESET_EVENT+RESETS_STANDARD-RESET_TOGRAVE+RESET_PHASE+PHASE_END,0,1,fid)
e:GetHandler():RegisterFlagEffect(86379106,RESET_EVENT+RESETS_STANDARD-RESET_TOGRAVE-RESET_LEAVE+RESET_PHASE+PHASE_END,0,1)
end
--
function c86379106.setfilter(c)
......@@ -56,6 +55,7 @@ function c86379106.setfilter(c)
end
function c86379106.setop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local tc=e:GetLabelObject()
if Duel.IsExistingMatchingCard(c86379106.setfilter,tp,LOCATION_DECK,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c86379106.setfilter,tp,LOCATION_DECK,0,1,1,nil)
......@@ -65,9 +65,9 @@ function c86379106.setop(e,tp,eg,ep,ev,re,r,rp)
local sc=g:GetFirst():GetCode()
Duel.ConfirmCards(1-tp,g)
if ac~=sc then
if e:GetHandler():GetFlagEffect(86379106)>0 and c:GetFlagEffectLabel(86379106)==e:GetLabel() then
Duel.SendtoHand(e:GetHandler(),nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,e:GetHandler())
if tc:GetFlagEffect(86379106)>0 and tc:IsLocation(LOCATION_GRAVE) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
end
......
......@@ -150,7 +150,7 @@ function c86379382.op4(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
Duel.RegisterFlagEffect(tp,86379382+RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,86379382,RESET_PHASE+PHASE_END,0,1)
end
function c86379382.disable(e,c)
return c:GetCounter(0x245)>0
......
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