Commit 6ea0013e authored by Nemo Ma's avatar Nemo Ma Committed by GitHub

Merge pull request #15 from Sonic714/master

23.4.27 yume upd
parents e424fb6b ed515bc4
No preview for this file type
expansions/pics/71400001.jpg

32 KB | W: | H:

expansions/pics/71400001.jpg

328 KB | W: | H:

expansions/pics/71400001.jpg
expansions/pics/71400001.jpg
expansions/pics/71400001.jpg
expansions/pics/71400001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400002.jpg

52.6 KB | W: | H:

expansions/pics/71400002.jpg

540 KB | W: | H:

expansions/pics/71400002.jpg
expansions/pics/71400002.jpg
expansions/pics/71400002.jpg
expansions/pics/71400002.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400014.jpg

57.7 KB | W: | H:

expansions/pics/71400014.jpg

542 KB | W: | H:

expansions/pics/71400014.jpg
expansions/pics/71400014.jpg
expansions/pics/71400014.jpg
expansions/pics/71400014.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400018.jpg

42.2 KB | W: | H:

expansions/pics/71400018.jpg

466 KB | W: | H:

expansions/pics/71400018.jpg
expansions/pics/71400018.jpg
expansions/pics/71400018.jpg
expansions/pics/71400018.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400021.jpg

41.3 KB | W: | H:

expansions/pics/71400021.jpg

442 KB | W: | H:

expansions/pics/71400021.jpg
expansions/pics/71400021.jpg
expansions/pics/71400021.jpg
expansions/pics/71400021.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400024.jpg

54.8 KB | W: | H:

expansions/pics/71400024.jpg

543 KB | W: | H:

expansions/pics/71400024.jpg
expansions/pics/71400024.jpg
expansions/pics/71400024.jpg
expansions/pics/71400024.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400027.jpg

46.1 KB | W: | H:

expansions/pics/71400027.jpg

491 KB | W: | H:

expansions/pics/71400027.jpg
expansions/pics/71400027.jpg
expansions/pics/71400027.jpg
expansions/pics/71400027.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400031.jpg

47.2 KB | W: | H:

expansions/pics/71400031.jpg

482 KB | W: | H:

expansions/pics/71400031.jpg
expansions/pics/71400031.jpg
expansions/pics/71400031.jpg
expansions/pics/71400031.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400032.jpg

56.4 KB | W: | H:

expansions/pics/71400032.jpg

583 KB | W: | H:

expansions/pics/71400032.jpg
expansions/pics/71400032.jpg
expansions/pics/71400032.jpg
expansions/pics/71400032.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400033.jpg

41.5 KB | W: | H:

expansions/pics/71400033.jpg

428 KB | W: | H:

expansions/pics/71400033.jpg
expansions/pics/71400033.jpg
expansions/pics/71400033.jpg
expansions/pics/71400033.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400034.jpg

53.3 KB | W: | H:

expansions/pics/71400034.jpg

469 KB | W: | H:

expansions/pics/71400034.jpg
expansions/pics/71400034.jpg
expansions/pics/71400034.jpg
expansions/pics/71400034.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400037.jpg

46.3 KB | W: | H:

expansions/pics/71400037.jpg

515 KB | W: | H:

expansions/pics/71400037.jpg
expansions/pics/71400037.jpg
expansions/pics/71400037.jpg
expansions/pics/71400037.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400038.jpg

50.7 KB | W: | H:

expansions/pics/71400038.jpg

535 KB | W: | H:

expansions/pics/71400038.jpg
expansions/pics/71400038.jpg
expansions/pics/71400038.jpg
expansions/pics/71400038.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400039.jpg

57.5 KB | W: | H:

expansions/pics/71400039.jpg

636 KB | W: | H:

expansions/pics/71400039.jpg
expansions/pics/71400039.jpg
expansions/pics/71400039.jpg
expansions/pics/71400039.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400041.jpg

44.4 KB | W: | H:

expansions/pics/71400041.jpg

482 KB | W: | H:

expansions/pics/71400041.jpg
expansions/pics/71400041.jpg
expansions/pics/71400041.jpg
expansions/pics/71400041.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400042.jpg

45.8 KB | W: | H:

expansions/pics/71400042.jpg

487 KB | W: | H:

expansions/pics/71400042.jpg
expansions/pics/71400042.jpg
expansions/pics/71400042.jpg
expansions/pics/71400042.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400043.jpg

46.5 KB | W: | H:

expansions/pics/71400043.jpg

534 KB | W: | H:

expansions/pics/71400043.jpg
expansions/pics/71400043.jpg
expansions/pics/71400043.jpg
expansions/pics/71400043.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400046.jpg

47.1 KB | W: | H:

expansions/pics/71400046.jpg

440 KB | W: | H:

expansions/pics/71400046.jpg
expansions/pics/71400046.jpg
expansions/pics/71400046.jpg
expansions/pics/71400046.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400048.jpg

50.2 KB | W: | H:

expansions/pics/71400048.jpg

503 KB | W: | H:

expansions/pics/71400048.jpg
expansions/pics/71400048.jpg
expansions/pics/71400048.jpg
expansions/pics/71400048.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400057.jpg

46.6 KB | W: | H:

expansions/pics/71400057.jpg

516 KB | W: | H:

expansions/pics/71400057.jpg
expansions/pics/71400057.jpg
expansions/pics/71400057.jpg
expansions/pics/71400057.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400058.jpg

49.9 KB | W: | H:

expansions/pics/71400058.jpg

552 KB | W: | H:

expansions/pics/71400058.jpg
expansions/pics/71400058.jpg
expansions/pics/71400058.jpg
expansions/pics/71400058.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400062.jpg

40.4 KB | W: | H:

expansions/pics/71400062.jpg

463 KB | W: | H:

expansions/pics/71400062.jpg
expansions/pics/71400062.jpg
expansions/pics/71400062.jpg
expansions/pics/71400062.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400066.jpg

50.1 KB | W: | H:

expansions/pics/71400066.jpg

508 KB | W: | H:

expansions/pics/71400066.jpg
expansions/pics/71400066.jpg
expansions/pics/71400066.jpg
expansions/pics/71400066.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400067.jpg

46.1 KB | W: | H:

expansions/pics/71400067.jpg

495 KB | W: | H:

expansions/pics/71400067.jpg
expansions/pics/71400067.jpg
expansions/pics/71400067.jpg
expansions/pics/71400067.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400068.jpg

51.4 KB | W: | H:

expansions/pics/71400068.jpg

543 KB | W: | H:

expansions/pics/71400068.jpg
expansions/pics/71400068.jpg
expansions/pics/71400068.jpg
expansions/pics/71400068.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400069.jpg

46.6 KB | W: | H:

expansions/pics/71400069.jpg

482 KB | W: | H:

expansions/pics/71400069.jpg
expansions/pics/71400069.jpg
expansions/pics/71400069.jpg
expansions/pics/71400069.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71402001.jpg

53.1 KB | W: | H:

expansions/pics/71402001.jpg

512 KB | W: | H:

expansions/pics/71402001.jpg
expansions/pics/71402001.jpg
expansions/pics/71402001.jpg
expansions/pics/71402001.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71402002.jpg

29.9 KB | W: | H:

expansions/pics/71402002.jpg

374 KB | W: | H:

expansions/pics/71402002.jpg
expansions/pics/71402002.jpg
expansions/pics/71402002.jpg
expansions/pics/71402002.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -45,7 +45,7 @@ function c71400014.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
c:RegisterFlagEffect(71400014,RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(71400014,0))
Duel.Hint(HINT_SELECTMSG,rp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(rp,nil,rp,LOCATION_ONFIELD,0,1,1,aux.ExceptThisCard(re))
local g=Duel.SelectMatchingCard(rp,nil,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,aux.ExceptThisCard(e))
if g:GetCount()>0 then
Duel.HintSelection(g)
if Duel.SendtoGrave(g,REASON_EFFECT)>0 then
......
......@@ -28,17 +28,39 @@ function c71400027.con1(e,tp,eg,ep,ev,re,r,rp)
return yume.IsYumeFieldOnField(tp) and rp==1-tp and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_MZONE and re:IsActiveType(TYPE_MONSTER)
end
function c71400027.filter1(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ) and c:IsSetCard(0x714)
if c:IsType(TYPE_LINK) then return false end
local num=0
local xyz=0
if c:IsType(TYPE_XYZ) then
xyz=1
num=c:GetRank()
else
num=c:GetLevel()
end
return c:IsFaceup() and c:IsSetCard(0x714) and Duel.IsExistingMatchingCard(c71400027.filter1a,0,LOCATION_MZONE,LOCATION_MZONE,1,c,num,xyz)
end
function c71400027.filter1a(c,num,xyz)
if c:IsType(TYPE_LINK) or not (c:IsFaceup() and c:IsSetCard(0x714)) then return false end
local num2=0
local xyz2=0
if c:IsType(TYPE_XYZ) then
xyz2=1
num2=c:GetRank()
else
num2=c:GetLevel()
end
return xyz2==xyz and num2==num
end
function c71400027.op1(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
Duel.SetLP(tp,Duel.GetLP(tp)-math.ceil(tc:GetBaseAttack()/2))
local g=Duel.GetMatchingGroup(Card.IsSummonLocation,tp,LOCATION_MZONE,0,nil,LOCATION_EXTRA)
if g:FilterCount(c71400027.filter1,nil)==g:GetCount() and Duel.IsChainDisablable(ev) then
Duel.BreakEffect()
if Duel.IsChainDisablable(ev) then
Duel.NegateEffect(ev)
if rc:IsRelateToEffect(re) and not rc:IsStatus(STATUS_BATTLE_DESTROYED) then
Duel.GetControl(tc,tp)
if rc:IsRelateToEffect(re) then
Duel.SetLP(tp,Duel.GetLP(tp)-math.ceil(rc:GetBaseAttack()/2))
if not rc:IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsExistingMatchingCard(c71400027.filter1,0,LOCATION_MZONE,LOCATION_MZONE,1,nil) then
Duel.BreakEffect()
Duel.GetControl(rc,tp)
end
end
end
end
......
......@@ -38,6 +38,7 @@ function c71400030.con1(e,tp,eg,ep,ev,re,r,rp)
end
function c71400030.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetCard(eg)
local g=eg:Filter(Card.IsAbleToRemove,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
......
......@@ -15,6 +15,7 @@ function c71400035.initial_effect(c)
e1:SetDescription(aux.Stringid(71400035,0))
e1:SetOperation(c71400035.op1)
e1:SetTarget(c71400035.tg1)
e1:SetCost(c71400035.cost1)
e1:SetTarget(yume.YumeFieldCheckTarget())
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
c:RegisterEffect(e1)
......@@ -30,6 +31,10 @@ function c71400035.initial_effect(c)
e2:SetOperation(c71400035.op2)
c:RegisterEffect(e2)
end
function c71400035.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c71400035.filter1(c)
return c:IsSetCard(0xc714) and c:IsAbleToGrave()
end
......@@ -85,26 +90,7 @@ function c71400035.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
--[[
if not e:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
local rct=1
if Duel.GetTurnPlayer()~=tp then rct=2 end
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_ACTIVATE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetValue(c71400035.aclimit)
e4:SetTargetRange(1,0)
e4:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,rct)
Duel.RegisterEffect(e4,tp)
--]]
end
--[[
function c71400035.aclimit(e,re,rp)
local rc=re:GetHandler()
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and not rc:IsSetCard(0x714) and not rc:IsImmuneToEffect(e)
end
--]]
function c71400035.tg1a(e,c)
local seq=e:GetLabel()
local p=c:GetControler()
......
......@@ -42,6 +42,30 @@ function c71400057.filter1c(c,e,tp,mc)
return c:IsSetCard(0x714) and c:IsType(TYPE_XYZ) and not c:IsCode(mc:GetCode()) and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end
function c71400057.filter1d(c)
if c:IsType(TYPE_LINK) then return false end
local num=0
local xyz=false
if c:IsType(TYPE_XYZ) then
xyz=true
num=c:GetRank()
else
num=c:GetLevel()
end
return c:IsFaceup() and c:IsSetCard(0x714) and Duel.IsExistingMatchingCard(c71400057.filter1e,0,LOCATION_MZONE,LOCATION_MZONE,1,c,num,xyz)
end
function c71400057.filter1e(c,num,xyz)
if c:IsType(TYPE_LINK) or not (c:IsFaceup() and c:IsSetCard(0x714)) then return false end
local num2=0
local xyz2=false
if c:IsType(TYPE_XYZ) then
xyz2=true
num2=c:GetRank()
else
num2=c:GetLevel()
end
return xyz2==xyz and num2==num
end
function c71400057.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or tc:IsImmuneToEffect(e) then return end
......@@ -49,8 +73,12 @@ function c71400057.op1(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c71400057.filter1b,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()<1 then return end
Duel.Overlay(tc,g)
local fg=Duel.GetMatchingGroup(Card.IsSummonLocation,tp,LOCATION_MZONE,0,nil,LOCATION_EXTRA)
if fg:FilterCount(c71400057.filter1a,nil)~=fg:GetCount() or not aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL) or tc:IsControler(1-tp) then return end
if not (tc:IsFaceup() and tc:IsControler(tp) and tc:IsRelateToEffect(e)
and aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(c71400057.filter1d,0,LOCATION_MZONE,LOCATION_MZONE,1,nil))
or tc:IsImmuneToEffect(e) then
return
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyzg=Duel.SelectMatchingCard(tp,c71400057.filter1c,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc)
if xyzg:GetCount()>0 then
......
......@@ -11,7 +11,7 @@ function c71400061.initial_effect(c)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c71400061.con1)
c:RegisterEffect(e1)
--change attribute
--change type
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400061,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
......@@ -19,6 +19,7 @@ function c71400061.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1)
e2:SetCondition(c71400061.con2)
e2:SetTarget(c71400061.tg2)
e2:SetOperation(c71400061.op2)
c:RegisterEffect(e2)
......@@ -44,6 +45,9 @@ function c71400061.con1(e,c)
and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>0
and Duel.IsExistingMatchingCard(c71400061.filter1,tp,LOCATION_MZONE,0,1,nil) and yume.YumeCheck(c)
end
function c71400061.con2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLinkState()
end
function c71400061.filter2(c)
return c:IsFaceup() and not c:IsRace(RACE_PLANT)
end
......
......@@ -68,7 +68,7 @@ function c71400068.op1(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToBattle() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL)
e1:SetValue(c:GetAttack()*2)
c:RegisterEffect(e1)
......
--基础数学老师 巴迪
function c71402003.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,c71402003.mfilter,2,2)
--unique
c:SetUniqueOnField(1,0,71402003)
--multi attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetValue(c71402003.raval)
c:RegisterEffect(e1)
--remove
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71402003,0))
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_BATTLE_START)
e2:SetTarget(c71402003.tg2)
e2:SetOperation(c71402003.op2)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(71402003,1))
e3:SetCategory(CATEGORY_DRAW+CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e3:SetCountLimit(1)
e3:SetCondition(c71402003.con3)
e3:SetTarget(c71402003.tg3)
e3:SetOperation(c71402003.op3)
c:RegisterEffect(e3)
if not c71402003.global_check then
c71402003.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAIN_SOLVED)
ge1:SetOperation(c71402003.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c71402003.mfilter(c)
return c:GetFlagEffect(71402003)>0 and c:IsLocation(LOCATION_ONFIELD) and c:IsLinkType(TYPE_EFFECT)
end
function c71402003.checkop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if not rc:IsRelateToEffect(re) or not re:IsActiveType(TYPE_MONSTER) then return end
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
if loc&LOCATION_ONFIELD~=0 and rc:GetFlagEffect(71402003)==0 then
rc:RegisterFlagEffect(71402003,RESET_EVENT+RESETS_STANDARD,0,1)
end
end
function c71402003.raval(e,c)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),0,LOCATION_HAND)
end
function c71402003.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=e:GetHandler():GetBattleTarget()
if chk==0 then return tc and tc:IsControler(1-tp) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,tc,1,0,0)
end
function c71402003.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetHandler():GetBattleTarget()
if tc:IsRelateToBattle() then
Duel.Remove(tc,POS_FACEDOWN,REASON_RULE)
end
end
function c71402003.con3(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetActivityCount(1-tp,ACTIVITY_SUMMON)+Duel.GetActivityCount(1-tp,ACTIVITY_SPSUMMON)>0
end
function c71402003.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,1)
end
function c71402003.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.Draw(1-tp,1,REASON_EFFECT)
end
end
\ No newline at end of file
--风来之国的旅者 约翰与珊
function c71402004.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,2,c71402004.lcheck)
--atk
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c71402004.atkval)
c:RegisterEffect(e1)
--activate field
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71402004,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,71402004)
e2:SetCondition(c71402004.con2)
e2:SetCost(c71402004.cost2)
e2:SetTarget(c71402004.tg2)
e2:SetOperation(c71402004.op2)
c:RegisterEffect(e2)
end
function c71402004.lcheck(g)
return g:GetClassCount(Card.GetLinkRace)==g:GetCount() and g:GetClassCount(Card.GetLinkAttribute)==g:GetCount()
end
function c71402004.atkval(e,c)
local g=Duel.GetMatchingGroup(Card.IsType,0,LOCATION_FZONE+LOCATION_GRAVE,LOCATION_FZONE+LOCATION_GRAVE,nil,TYPE_FIELD)
return g:GetClassCount(Card.GetCode)*500
end
function c71402004.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_FZONE,LOCATION_FZONE,1,nil)
end
function c71402004.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c71402004.filter2a(c,tp)
return c:IsType(TYPE_FIELD) and c:GetActivateEffect():IsActivatable(tp,true,true)
and not Duel.IsExistingMatchingCard(c71402004.filter2b,tp,LOCATION_FZONE+LOCATION_GRAVE,LOCATION_FZONE+LOCATION_GRAVE,1,nil,c:GetCode())
end
function c71402004.filter2b(c,code)
return c:IsCode(code) and (c:IsFaceup() or not c:IsOnField())
end
function c71402004.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71402004.filter2a,tp,LOCATION_DECK,0,1,nil,tp) end
end
function c71402004.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(71402004,0))
local tc=Duel.SelectMatchingCard(tp,c71402004.filter2a,tp,LOCATION_DECK,0,1,1,nil,tp):GetFirst()
if tc then
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
if fc then
Duel.SendtoGrave(fc,REASON_RULE)
Duel.BreakEffect()
end
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
local te=tc:GetActivateEffect()
te:UseCountLimit(tp,1,true)
local tep=tc:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain())
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_DRAW)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
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