Commit b647d16a authored by HidarimeYume's avatar HidarimeYume

8.29 upd

parent 246297f7
No preview for this file type
expansions/pics/71400008.jpg

46.8 KB | W: | H:

expansions/pics/71400008.jpg

49.7 KB | W: | H:

expansions/pics/71400008.jpg
expansions/pics/71400008.jpg
expansions/pics/71400008.jpg
expansions/pics/71400008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400009.jpg

44 KB | W: | H:

expansions/pics/71400009.jpg

46.1 KB | W: | H:

expansions/pics/71400009.jpg
expansions/pics/71400009.jpg
expansions/pics/71400009.jpg
expansions/pics/71400009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400010.jpg

44 KB | W: | H:

expansions/pics/71400010.jpg

45.7 KB | W: | H:

expansions/pics/71400010.jpg
expansions/pics/71400010.jpg
expansions/pics/71400010.jpg
expansions/pics/71400010.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71400011.jpg

48.7 KB | W: | H:

expansions/pics/71400011.jpg

50.2 KB | W: | H:

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

39.3 KB | W: | H:

expansions/pics/71400018.jpg

441 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/71400024.jpg

183 KB | W: | H:

expansions/pics/71400024.jpg

43.8 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

44.4 KB | W: | H:

expansions/pics/71400027.jpg

42.9 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/field/71400049.jpg

423 KB | W: | H:

expansions/pics/field/71400049.jpg

267 KB | W: | H:

expansions/pics/field/71400049.jpg
expansions/pics/field/71400049.jpg
expansions/pics/field/71400049.jpg
expansions/pics/field/71400049.jpg
  • 2-up
  • Swipe
  • Onion skin
--梦见
yume=yume or {}
yume.temp_card_field=yume.temp_card_field or {}
yume=yume or {}
yume.temp_card_field=yume.temp_card_field or {}
if c71400001 then
function c71400001.initial_effect(c)
--Activate(nofield)
......@@ -94,32 +94,46 @@ function yume.IsYumeFieldOnField(tp)
return fc and yume.YumeCheckFilter(fc)
end
--[[
Yume SpSummon Check
Yume SpSummon check
v in effect = spsummon condition value(return true = can summon)
v in card = material filter gen(return true = can summon)
v in card = material filter generator(return true = can summon, se = set check)
--]]
function yume.YumeCheck(v,se,sp)
local t=yume.GetValueType(v)
if t=="E" then
return yume.IsYumeFieldOnField(sp)
elseif t=="C" then
return function(c) return yume.IsYumeFieldOnField(v:GetControler()) end
if se==true then
return function(c)
return c:IsSetCard(0x714) and yume.IsYumeFieldOnField(v:GetControler())
end
else return function(c)
return yume.IsYumeFieldOnField(v:GetControler())
end
end
end
end
--[[
Yume Summon/Set Check
Yume Link Material group filter generator
return true = can summon
--]]
function yume.YumeLMGFilterFunction(c)
return function(g) return yume.IsYumeFieldOnField(c:GetControler()) and g:IsExists(Card.IsLinkSetCard,1,nil,0x714) end
end
--[[
Yume Summon/Set check
return true = cannot summon
--]]
function yume.YumeCheck2(e)
return not yume.IsYumeFieldOnField(e:GetHandler():GetControler())
end
--Yume Condition
function yume.YumeCon(e,tp,eg,ep,ev,re,r,rp)
function yume.YumeCon(e,tp)
if not tp then tp=e:GetHandlerPlayer() end
return yume.IsYumeFieldOnField(tp)
end
--Yume Condition for lethal weapons
function yume.YumeLethalCon(e,tp,eg,ep,ev,re,r,rp)
--Yume Condition for weapons
function yume.YumeWeaponCon(e,tp,eg,ep,ev,re,r,rp)
if not yume.IsYumeFieldOnField(tp) then return false end
local ph=Duel.GetCurrentPhase()
if Duel.GetTurnPlayer()==tp then
......@@ -146,16 +160,7 @@ function yume.AddYumeFieldGlobal(c,id,ft)
eac:SetCode(EVENT_FREE_CHAIN)
eac:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(eac)
--[[--old self to deck
local esl=Effect.CreateEffect(c)
esl:SetDescription(aux.Stringid(71400001,1))
esl:SetType(EFFECT_TYPE_QUICK_F)
esl:SetCode(EVENT_CHAINING)
esl:SetRange(LOCATION_FZONE)
esl:SetCondition(yume.YumeFieldLimitCon)
esl:SetOperation(yume.YumeFieldLimitOp)
c:RegisterEffect(esl)
--]]
--[[
--self to deck
local esd1=Effect.CreateEffect(c)
esd1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
......@@ -171,6 +176,7 @@ function yume.AddYumeFieldGlobal(c,id,ft)
esd2:SetRange(LOCATION_FZONE)
esd2:SetOperation(yume.SelfToDeckOp)
c:RegisterEffect(esd2)
--]]
--activate field
local efa=Effect.CreateEffect(c)
efa:SetDescription(aux.Stringid(71400001,2))
......@@ -183,53 +189,7 @@ function yume.AddYumeFieldGlobal(c,id,ft)
efa:SetOperation(yume.ActivateFieldOp)
c:RegisterEffect(efa)
end
--[[--old Against Yume
function yume.YumeFieldLimitCon(e,tp,eg,ep,ev,re,r,rp)
local ec=re:GetHandler()
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return re:IsActiveType(TYPE_MONSTER) and rp==tp and (not ec:IsSetCard(0x714) and (ec:IsLocation(loc) or loc&LOCATION_ONFIELD==0) or not (ec:IsPreviousSetCard(0x714) or ec:IsLocation(loc)) and loc&LOCATION_ONFIELD~=0)
end
function yume.YumeFieldLimitOp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x714))
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_SUMMON)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x714))
e2:SetTargetRange(1,0)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_MSET)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x714))
e3:SetTargetRange(1,0)
Duel.RegisterEffect(e3,tp)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCode(EFFECT_CANNOT_ACTIVATE)
e4:SetReset(RESET_PHASE+PHASE_END)
e4:SetValue(yume.YumeActivateYumeFieldLimit)
e4:SetTargetRange(1,0)
Duel.RegisterEffect(e4,tp)
end
function yume.YumeActivateYumeFieldLimit(e,re,tp)
local c=re:GetHandler()
return c:IsSetCard(0x714)
end
--]]
--[[
--Self To Deck
function yume.SelfToDeckOp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -237,7 +197,39 @@ function yume.SelfToDeckOp(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(c,nil,2,REASON_EFFECT)
end
end
--]]
function yume.AddYumeWeaponGlobal(c)
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71400001,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetRange(LOCATION_GRAVE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetCondition(yume.YumeCon)
e1:SetCost(yume.WeaponSetCost)
e1:SetTarget(yume.WeaponSetTg)
e1:SetOperation(yume.WeaponSetOp)
c:RegisterEffect(e1)
end
--activate field
function yume.WeaponSetCostFilter(c)
return c:IsSetCard(0x714) and c:IsDiscardable()
end
function yume.WeaponSetCost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(yume.WeaponSetCostFilter,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,yume.WeaponSetCostFilter,1,1,REASON_COST+REASON_DISCARD)
end
function yume.WeaponSetTg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function yume.WeaponSetOp(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SSet(tp,c)
end
end
function yume.YumeFieldCheck(tp,id,ft,loc)
ft=ft or 0
id=id or 0
......@@ -247,6 +239,7 @@ end
function yume.YumeFieldCheckTarget(id,ft,loc)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return yume.YumeFieldCheck(tp,id,ft,loc) end
if not Duel.CheckPhaseActivity() then e:SetLabel(1) else e:SetLabel(0) end
end
end
function yume.ActivateYumeField(tp,id,ft,loc)
......@@ -255,11 +248,13 @@ function yume.ActivateYumeField(tp,id,ft,loc)
loc=loc or LOCATION_DECK
local tc
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(71400001,3))
if e:GetLabel()==1 then Duel.RegisterFlagEffect(tp,15248873,RESET_CHAIN,0,1) end
if loc&LOCATION_GRAVE~=0 and loc~=LOCATION_GRAVE then
tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(yume.ActivateFieldFilter),tp,loc,0,1,1,nil,tp,id,ft):GetFirst()
else
tc=Duel.SelectMatchingCard(tp,yume.ActivateFieldFilter,tp,loc,0,1,1,nil,tp,id,ft):GetFirst()
end
Duel.ResetFlagEffect(tp,15248873)
if tc then
local fc=Duel.GetFieldCard(tp,LOCATION_FZONE,0)
if fc then
......
......@@ -48,14 +48,21 @@ function c71400006.operation1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
tc:RegisterEffect(e1,true)
Duel.SpecialSummonComplete()
local dg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if dg:GetCount()>0 then
local bg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if bg:GetCount()>0 then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
local g=bg:Select(tp,1,1,nil)
Duel.HintSelection(g)
Duel.Remove(g:GetFirst(),POS_FACEUP,REASON_EFFECT)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
end
......
--异梦书中的三足怪物
--异梦书中的边际鲜活工作者
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400008.initial_effect(c)
--xyz summon
......
--异梦书中的
--异梦书中的擦伤少
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400010.initial_effect(c)
--xyz summon
......@@ -11,11 +11,12 @@ function c71400010.initial_effect(c)
e1:SetCategory(CATEGORY_CONTROL)
e1:SetDescription(aux.Stringid(71400010,0))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,71400010)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c71400010.cost)
e1:SetTarget(c71400010.target1)
e1:SetOperation(c71400010.operation1)
e1:SetTarget(c71400010.tg1)
e1:SetOperation(c71400010.op1)
c:RegisterEffect(e1)
--control
local e2=Effect.CreateEffect(c)
......@@ -41,51 +42,35 @@ function c71400010.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c71400010.filter1(c)
return c:IsFaceup() and c:IsAbleToChangeControler()
return c:IsFaceup() and c:IsControlerCanBeChanged()
end
function c71400010.target1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE,1-tp,LOCATION_REASON_CONTROL)
if chk==0 then return Duel.IsExistingMatchingCard(c71400010.filter1,tp,0,LOCATION_MZONE,1,nil) and ft>0 end
local g=Duel.GetMatchingGroup(c71400010.filter1,tp,0,LOCATION_MZONE,c)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,g:GetCount(),1-tp,LOCATION_MZONE)
function c71400010.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c71400010.filter1(chkc) end
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
local g=Duel.SelectTarget(tp,c71400010.filter1,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,1,0,0)
end
function c71400010.operation1(e,tp,eg,ep,ev,re,r,rp)
function c71400010.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE,1-tp,LOCATION_REASON_CONTROL)
local g=Duel.GetMatchingGroup(c71400010.filter1,tp,0,LOCATION_MZONE,c)
local ct=g:GetCount()
if ct>ft then ct=ft end
if ct<1 then return end
if ct<g:GetCount() then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
g=g:Select(tp,ct,ct,nil)
end
Duel.GetControl(g,tp)
local og=Duel.GetOperatedGroup()
if og:GetCount()<1 then return end
local tc=og:GetFirst()
local atk=0
while tc do
local tatk=tc:GetAttack()
if tatk>0 then atk=atk+tatk end
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and c:IsFaceup() and tc and tc:IsRelateToEffect(e)
and not tc:IsImmuneToEffect(e) then
c:SetCardTarget(tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_ADD_SETCODE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetValue(0x714)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e2:SetValue(1)
e2:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e2,true)
tc=og:GetNext()
e1:SetCode(EFFECT_SET_CONTROL)
e1:SetValue(tp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCondition(c71400010.ctcon)
tc:RegisterEffect(e1)
Duel.SetLP(tp,Duel.GetLP(tp)-math.ceil(tc:GetBaseAttack()/2))
end
Duel.SetLP(tp,Duel.GetLP(tp)-atk/2)
end
function c71400010.ctcon(e)
local c=e:GetOwner()
local h=e:GetHandler()
return c:IsHasCardTarget(h)
end
function c71400010.condition2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -2,7 +2,7 @@
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400011.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,yume.YumeCheck(c),4,2)
aux.AddXyzProcedure(c,yume.YumeCheck(c,true),4,3)
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......@@ -13,7 +13,7 @@ function c71400011.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,71400011+EFFECT_COUNT_CODE_DUEL)
e1:SetCountLimit(1,71400011)
e1:SetCondition(c71400011.con1)
e1:SetTarget(c71400011.tg1)
e1:SetOperation(c71400011.op1)
......
......@@ -2,7 +2,7 @@
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400012.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,yume.YumeCheck(c),aux.NonTuner(yume.YumeCheck(c)),1)
aux.AddSynchroProcedure(c,yume.YumeCheck(c,true),aux.NonTuner(yume.YumeCheck(c)),1)
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......
......@@ -50,6 +50,7 @@ function c71400013.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.BreakEffect()
Duel.SendtoGrave(des,REASON_EFFECT)
end
--[[
local el1=Effect.CreateEffect(c)
el1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
el1:SetType(EFFECT_TYPE_FIELD)
......@@ -64,6 +65,7 @@ function c71400013.op1(e,tp,eg,ep,ev,re,r,rp)
local el3=el1:Clone()
el3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
c:RegisterEffect(el3)
--]]
end
function c71400013.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -19,20 +19,32 @@ function c71400014.initial_effect(c)
--heart
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400014,1))
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetCost(c71400014.cost2)
e2:SetTarget(c71400014.tg2)
e2:SetOperation(c71400014.op2)
c:RegisterEffect(e2)
--eat each other
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(71400014,2))
e3:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_FZONE)
e3:SetCountLimit(1)
e3:SetTarget(c71400014.tg3)
e3:SetOperation(c71400014.op3)
c:RegisterEffect(e3)
--self to deck & activate field
yume.AddYumeFieldGlobal(c,71400014,1)
end
function c71400014.op1(e,tp,eg,ep,ev,re,r,rp)
if not Duel.SelectYesNo(tp,aux.Stringid(71400014,3)) then return end
Duel.Hint(HINT_CARD,0,71400014)
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))
if g:GetCount()>0 then
......@@ -51,23 +63,17 @@ function c71400014.op1(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(c71400014.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,rp)
c:RegisterFlagEffect(0,RESET_PHASE+PHASE_END+RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(71400014,0))
end
function c71400014.aclimit(e,re,tp)
return not re:IsActiveType(TYPE_TRAP)
end
function c71400014.con1(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_TRAP) and e:GetHandler():GetFlagEffect(1)~=0
return re:IsActiveType(TYPE_TRAP) and e:GetHandler():GetFlagEffect(1)~=0 and Duel.GetFlagEffect(tp,71400014)==0
end
function c71400014.filter2(c,e,tp)
return c:IsSetCard(0x714) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c71400014.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c71400014.filter2,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_HAND)
end
function c71400014.cost2(e,tp,eg,ep,ev,re,r,rp)
function c71400014.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
......@@ -106,4 +112,30 @@ function c71400014.regop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
e:Reset()
end
function c71400014.filter3a(c)
return c:IsSetCard(0x715) and c:IsType(TYPE_TRAP) and c:IsAbleToHand()
end
function c71400014.filter3b(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x714) and (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE))
end
function c71400014.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71400014.filter3b,tp,LOCATION_HAND+LOCATION_MZONE,0,2,nil)
and Duel.IsExistingMatchingCard(c71400014.filter3a,tp,LOCATION_DECK,0,1,nil) end
local g=Duel.GetMatchingGroup(c71400014.filter3b,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c71400014.op3(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,c71400014.filter3b,tp,LOCATION_HAND+LOCATION_MZONE,0,2,2,nil)
if g:GetCount()==2 and Duel.Destroy(g,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c71400014.filter3a,tp,LOCATION_DECK,0,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
\ No newline at end of file
......@@ -4,9 +4,6 @@ function c71400016.initial_effect(c)
--Activate
--See AddYumeFieldGlobal
--summon
--self to deck & activate field
yume.AddYumeFieldGlobal(c,71400016,1)
--summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71400016,0))
e1:SetCategory(CATEGORY_SUMMON)
......@@ -24,13 +21,15 @@ function c71400016.initial_effect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(71400016,1))
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_FZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCountLimit(1)
e2:SetCondition(c71400016.con2)
e2:SetTarget(c71400016.tg2)
e2:SetOperation(c71400016.op2)
c:RegisterEffect(e2)
--self to deck & activate field
yume.AddYumeFieldGlobal(c,71400016,1)
end
function c71400016.con1(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
......
......@@ -16,12 +16,10 @@ function c71400017.initial_effect(c)
--banish
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400017,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetCountLimit(1,71400017+EFFECT_COUNT_CODE_DUEL)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetRange(LOCATION_FZONE)
e2:SetTarget(c71400017.tg2)
e2:SetCost(c71400017.cost)
e2:SetOperation(c71400017.op2)
c:RegisterEffect(e2)
--self to deck & activate field
......@@ -54,17 +52,18 @@ end
function c71400017.filter2(c)
return c:IsCode(71400020) and c:IsAbleToHand()
end
function c71400017.filter2c(c)
return c:IsSetCard(0xe714) and c:IsAbleToRemoveAsCost()
function c71400017.filter2r(c,tp)
return c:IsSetCard(0xe714) and c:IsAbleToRemove(tp)
end
function c71400017.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71400017.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
if chk==0 then return Duel.IsExistingMatchingCard(c71400017.filter2,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil) and Duel.GetMatchingGroupCount(c71400017.filter2r,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,tp)>4 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,5,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c71400017.cost(e,tp,eg,ep,ev,re,r,rp,chk)
c=e:GetHandler()
local g=Duel.GetMatchingGroup(c71400017.filter2c,tp,LOCATION_GRAVE,0,nil)
if chk==0 then return c:IsAbleToRemoveAsCost() and g:GetClassCount(Card.GetCode)>4 end
function c71400017.op2(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c71400017.filter2r,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil)
if g:GetClassCount(Card.GetCode)<5 then return end
local rg=Group.CreateGroup()
for i=1,5 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
......@@ -72,14 +71,11 @@ function c71400017.cost(e,tp,eg,ep,ev,re,r,rp,chk)
rg:AddCard(sc)
g:Remove(Card.IsCode,nil,sc:GetCode())
end
rg:AddCard(c)
Duel.Remove(rg,POS_FACEUP,REASON_COST)
end
function c71400017.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c71400017.filter2,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
local g2=Duel.SelectMatchingCard(tp,c71400017.filter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g2:GetCount()>0 then
Duel.SendtoHand(g2,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
......@@ -12,9 +12,10 @@ function c71400018.initial_effect(c)
e1:SetDescription(aux.Stringid(71400018,0))
e1:SetTarget(c71400018.target)
e1:SetCost(c71400018.cost1)
e1:SetCondition(yume.YumeLethalCon)
e1:SetCondition(yume.YumeCon)
e1:SetOperation(c71400018.operation)
c:RegisterEffect(e1)
yume.AddYumeWeaponGlobal(c)
end
function c71400018.cost1(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
......@@ -37,12 +38,14 @@ function c71400018.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToEffect,nil,e)
Duel.Destroy(sg,REASON_EFFECT)
--[[
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
--]]
end
function c71400018.limit(g)
return function (e,lp,tp)
......
......@@ -16,9 +16,8 @@ function c71400019.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400019,1))
e2:SetCategory(CATEGORY_DRAW+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1,71500019)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCountLimit(1,71500019)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c71400019.cost2)
e2:SetTarget(c71400019.tg2)
......
--梦终
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400020.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetDescription(aux.Stringid(71400020,0))
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetCondition(c71400020.condition)
e1:SetTarget(c71400020.target)
e1:SetOperation(c71400020.operation)
e1:SetCondition(c71400020.con1)
e1:SetTarget(c71400020.tg1)
e1:SetOperation(c71400020.op1)
e1:SetCountLimit(1,71400020+EFFECT_COUNT_CODE_DUEL+EFFECT_COUNT_CODE_OATH)
c:RegisterEffect(e1)
end
function c71400020.filter1(c)
return c:IsSetCard(0x714)
end
function c71400020.filter2(c,tp)
return c:IsType(TYPE_FIELD) and c:GetActivateEffect():IsActivatable(tp,true)
end
function c71400020.filter3(c,e,tp)
function c71400020.filter1(c,e,tp)
return c:IsSetCard(0x714) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c71400020.condition(e,tp,eg,ep,ev,re,r,rp)
function c71400020.con1(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c71400020.filter1,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
local ct=g:GetClassCount(Card.GetCode)
return ct>12
end
function c71400020.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),tp)
if chk==0 then return Duel.IsExistingMatchingCard(c71400020.filter2,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,tp) and g:GetCount()>0 end
function c71400020.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),tp,POS_FACEDOWN)
if chk==0 then return yume.YumeFieldCheckTarget(0,1,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND) and g:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),0,0)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE)
end
end
function c71400020.operation(e,tp,eg,ep,ev,re,r,rp)
local fg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,e:GetHandler(),tp)
if Duel.Remove(fg,POS_FACEUP,REASON_EFFECT)<=0 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(71400020,1))
local tc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c71400020.filter2),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,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
local flag=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())
function c71400020.op1(e,tp,eg,ep,ev,re,r,rp)
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,aux.ExceptThisCard(e),tp,POS_FACEDOWN)
if Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT)>0 and yume.ActivateYumeField(tp,0,1,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND) then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
if tc:IsSetCard(0x3714) and flag and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c71400020.filter3),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(71400020,0)) then
if Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c71400020.filter3),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(71400020,1)) then
Duel.BreakEffect()
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c71400020.filter3),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_HAND,0,ft,ft,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCondition(c71400020.rmcon)
e1:SetOperation(c71400020.rmop)
Duel.RegisterEffect(e1,tp)
end
function c71400020.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_HAND,0,1,nil,tp,POS_FACEDOWN)
end
function c71400020.flipop(e,tp,eg,ep,ev,re,r,rp)
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_HAND,0,nil,tp,POS_FACEDOWN)
if Duel.Remove(rg,POS_FACEDOWN,REASON_EFFECT)>0 then
local ct=Duel.GetMatchingGroupCount(Card.IsFacedown,tp,LOCATION_REMOVED,0,nil)
if ct>0 then
Duel.BreakEffect()
Duel.SetLP(tp,Duel.GetLP(tp)-ct*1000)
end
end
end
\ No newline at end of file
......@@ -11,9 +11,10 @@ function c71400021.initial_effect(c)
e1:SetCountLimit(1,71400021+EFFECT_COUNT_CODE_OATH)
e1:SetDescription(aux.Stringid(71400021,0))
e1:SetTarget(c71400021.target)
e1:SetCondition(yume.YumeLethalCon)
e1:SetCondition(yume.YumeCon)
e1:SetOperation(c71400021.operation)
c:RegisterEffect(e1)
yume.AddYumeWeaponGlobal(c)
end
function c71400021.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsType(TYPE_MONSTER) end
......@@ -36,12 +37,14 @@ function c71400021.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(tc,REASON_EFFECT)
end
end
--[[
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
--]]
end
function c71400021.limit(c)
return function (e,lp,tp)
......
--梦之眼药商人
--异梦眼药商人
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400022.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2,yume.YumeCheck(c))
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2,yume.YumeLMGFilterFunction(c))
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......
......@@ -9,6 +9,7 @@ function c71400023.initial_effect(c)
e1:SetHintTiming(0,0x1f0)
e1:SetTarget(yume.YumeFieldCheckTarget())
e1:SetOperation(c71400023.op1)
e1:SetCost(c71400023.cost1)
c:RegisterEffect(e1)
--ac in hand
local e0=Effect.CreateEffect(c)
......@@ -25,12 +26,16 @@ function c71400023.initial_effect(c)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMING_SUMMON+TIMING_SPSUMMON+TIMING_END_PHASE)
e2:SetCondition(aux.exccon)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c71400023.con2)
e2:SetCost(c71400023.cost2)
e2:SetTarget(c71400023.tg2)
e2:SetOperation(c71400023.op2)
c:RegisterEffect(e2)
end
function c71400023.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function c71400023.filter1(c,tp)
return c:IsType(TYPE_FIELD) and c:GetActivateEffect():IsActivatable(tp,true) and c:IsSetCard(0x3714)
end
......@@ -63,14 +68,27 @@ function c71400023.op1(e,tp,eg,ep,ev,re,r,rp)
--]]
if not c:IsStatus(STATUS_ACT_FROM_HAND) and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.BreakEffect()
--cannot disable
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_DISABLE)
e1:SetTargetRange(0xff,0)
e1:SetTarget(c71400023.indtg)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
--cannot inactivate/disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetTargetRange(LOCATION_FZONE,0)
e2:SetTarget(c71400023.etarget)
e2:SetCode(EFFECT_CANNOT_INACTIVATE)
e2:SetValue(c71400023.efilter)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_DISEFFECT)
e3:SetValue(c71400023.efilter)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
end
end
......@@ -82,19 +100,32 @@ function c71400023.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return bit.band(sumpos,POS_FACEDOWN)>0
end
--]]
function c71400023.etarget(e,c)
return c:IsSetCard(0x3714) and c:IsType(TYPE_FIELD)
function c71400023.indtg(e,tc)
return tc:IsSetCard(0x3714) and tc:IsType(TYPE_FIELD)
end
function c71400023.efilter(e,ct)
local te,tp=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT,CHAININFO_TRIGGERING_PLAYER)
local tc=te:GetHandler()
return tp==e:GetHandlerPlayer() and tc:IsSetCard(0x3714) and tc:IsType(TYPE_FIELD)
end
function c71400023.filter2c(c)
return c:IsSetCard(0x714) and c:IsDiscardable()
end
function c71400023.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71400023.filter2c,tp,LOCATION_HAND,0,1,nil) and e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
Duel.DiscardHand(tp,c71400023.filter2c,1,1,REASON_COST+REASON_DISCARD)
end
function c71400023.efilter(e,te,c)
return te:GetOwner()~=c
function c71400023.con2(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e) and yume.YumeCon(e,tp)
end
function c71400023.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsAbleToRemove() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,0,1,nil)
and Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_BANISH)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_BANISH)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,1,1,nil)
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,2,0,0)
......
--异梦书中的人偶
--异梦书中的女儿节人偶
function c71400024.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,yume.YumeCheck(c),4,2)
......
......@@ -28,7 +28,7 @@ function c71400025.initial_effect(c)
Duel.AddCustomActivityCounter(71400025,ACTIVITY_SPSUMMON,c71400025.counterfilter)
end
function c71400025.counterfilter(c)
return c:GetSummonLocation()~=LOCATION_EXTRA or c:IsType(TYPE_LINK)
return c:GetSummonLocation()~=LOCATION_EXTRA or c:IsType(TYPE_LINK) and c:IsSetCard(0x714)
end
function c71400025.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,800) end
......
......@@ -16,7 +16,7 @@ function c71400026.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400026,1))
e2:SetCountLimit(1,71400026)
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_TOEXTRA)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c71400026.mixedYumeCon)
......@@ -55,20 +55,47 @@ function c71400026.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c71400026.mixedYumeCon(e,tp,eg,ep,ev,re,r,rp)
return yume.YumeCon(e,tp,eg,ep,ev,re,r,rp) and aux.exccon(e,tp,eg,ep,ev,re,r,rp)
return yume.YumeCon(e,tp) and aux.exccon(e)
end
function c71400026.filter2(c)
return c:IsSetCard(0xe714) and not c:IsCode(71400026) and c:IsAbleToHand()
end
function c71400026.filter2a(c)
return c:IsCode(71400011) and c:GetOriginalType()&0x7&TYPE_MONSTER~=0
end
function c71400026.filter2b(c)
return c:IsSetCard(0xb714) and c:IsType(TYPE_FIELD) and c:IsAbleToHand()
end
function c71400026.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71400026.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
local g=Duel.GetMatchingGroup(c71400026.filter2a,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c71400026.filter2,tp,LOCATION_DECK,0,1,nil) and (not g:GetCount()>0 or g:IsExists(Card.IsAbleToExtra,1,nil) and Duel.IsExistingMatchingCard(c71400026.filter2b,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil))
end
if g:GetCount()>0 then
local fg=g:Filter(Card.IsAbleToExtra,nil)
local fct=fg:GetCount()
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK+LOCATION_GRAVE)
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,fg,fct,0,0)
else
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
end
function c71400026.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c71400026.filter2,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
if g:GetCount()>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)>0 then
Duel.ConfirmCards(1-tp,g)
local tg=Duel.GetMatchingGroup(c71400026.filter2a,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,nil):Filter(Card.IsAbleToDeck,nil)
if aux.NecroValleyNegateCheck(tg) then return end
Duel.SendtoDeck(tg,nil,0,REASON_EFFECT)
local og=Duel.GetOperatedGroup()
local ct=og:FilterCount(Card.IsLocation,nil,LOCATION_EXTRA)
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c71400026.filter2b),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
end
\ No newline at end of file
--梦路脑坏
--啊,擦伤啦☆
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400027.initial_effect(c)
--sp summon
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71400027,0))
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,0x1f0)
e1:SetCost(c71400027.cost1)
e1:SetTarget(c71400027.tg1)
e1:SetCode(EVENT_CHAINING)
e1:SetCategory(CATEGORY_DISABLE+CATEGORY_CONTROL)
e1:SetDescription(aux.Stringid(71400027,0))
e1:SetCondition(c71400027.con1)
e1:SetOperation(c71400027.op1)
e1:SetOperation(c71400027.tg1)
c:RegisterEffect(e1)
--ac in hand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e0:SetCondition(yume.nonYumeCon)
c:RegisterEffect(e0)
--draw
--control
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_CONTROL)
e2:SetDescription(aux.Stringid(71400027,1))
e2:SetCategory(CATEGORY_DRAW+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PREDRAW)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c71400027.tg2)
e2:SetOperation(c71400027.op2)
e2:SetTarget(c71400027.tg1)
e2:SetOperation(c71400027.op1)
e2:SetCondition(yume.YumeCon)
c:RegisterEffect(e2)
end
function c71400027.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,2000) end
Duel.PayLPCost(tp,2000)
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)
and Duel.IsChainNegatable(ev)
end
function c71400027.filter1(c)
return c:IsPosition(POS_FACEUP_ATTACK) and not c:IsType(TYPE_TOKEN) and c:GetSummonLocation()==LOCATION_EXTRA and c:IsAbleToChangeControler()
end
function c71400027.xyzfilter(c,e,tp)
return c:IsSetCard(0x3715) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c71400027.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and c71400027.filter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(c71400027.filter1,tp,0,LOCATION_MZONE,2,nil) and Duel.IsExistingMatchingCard(c71400027.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c71400027.filter1,tp,0,LOCATION_MZONE,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
return not (c:IsFaceup() and c:IsType(TYPE_XYZ) and c:IsSetCard(0x714))
end
function c71400027.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local xyzg=Duel.GetMatchingGroup(c71400027.xyzfilter,tp,LOCATION_EXTRA,0,nil,e,tp)
local sg=xyzg:Select(tp,1,1,nil)
local sc=sg:GetFirst()
Debug.ShowHint(1)
if sc and Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP) then
local fid=c:GetFieldID()
sc:RegisterFlagEffect(71400027,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(sc)
e1:SetCondition(c71400027.tdcon)
e1:SetOperation(c71400027.tdop)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_ATTACK_FINAL)
e2:SetValue(0)
e2:SetReset(RESET_EVENT+0x1fe0000)
sc:RegisterEffect(e2,true)
Duel.SpecialSummonComplete()
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()==2 then
local tc=g:GetFirst()
while tc do
local og=tc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
tc=g:GetNext()
end
Duel.Overlay(sc,g)
local rc=re:GetHandler()
Duel.SetLP(tp,Duel.GetLP(tp)-math.ceil(tc:GetBaseAttack()/2))
if not Duel.IsExistingMatchingCard(c71400027.filter1,tp,LOCATION_MZONE,0,1,nil then
Duel.BreakEffect()
if Duel.NegateEffect(ev) and rc:IsRelateToEffect(re) and not rc:IsStatus(STATUS_BATTLE_DESTROYED) then
Duel.GetControl(tc,tp)
end
end
if not e:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetTargetRange(1,0)
e3:SetTarget(c71400027.aclimit)
Duel.RegisterEffect(e3,tp)
end
function c71400027.aclimit(e,re,tp)
return not re:GetHandler():IsSetCard(0x714) and re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end
function c71400027.tdcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(71400027)==e:GetLabel() then
return true
else
e:Reset()
return false
function c71400027.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local rc=re:GetHandler()
if not Duel.IsExistingMatchingCard(c71400027.filter1,tp,LOCATION_MZONE,0,1,nil then
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
if rc:IsRelateToEffect(re) and not rc:IsStatus(STATUS_BATTLE_DESTROYED) then
Duel.SetOperationInfo(0,CATEGORY_CONTROL,eg,1,0,0)
end
end
end
function c71400027.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
function c71400027.filter2(c)
return c:IsFaceup() and c:IsAbleToChangeControler()
end
function c71400027.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_FZONE) and chkc:IsControler(tp) and c71400027.filter2(chkc) end
if chk==0 then return Duel.IsExistingTarget(c71400027.filter2,tp,LOCATION_FZONE,0,1,nil) and Duel.IsPlayerCanDraw(tp,1) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c71400027.filter2,tp,LOCATION_FZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
function c71400027.filter2o(c,e)
return c:IsFaceup() and c:IsAbleToChangeControler() and not c:IsImmuneToEffect(e)
end
function c71400027.filter2(c)
return c:IsFaceup() and c:IsSetCard(0xb714) and c:IsType(TYPE_FIELD) and c:IsAbleToHand()
function c71400027.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE,1-tp,LOCATION_REASON_CONTROL)
if chk==0 then return Duel.IsExistingMatchingCard(c71400027.filter2,tp,0,LOCATION_MZONE,1,nil) and ft>0 end
local g=Duel.GetMatchingGroup(c71400027.filter2,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,g:GetCount(),1-tp,0)
end
function c71400027.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and Duel.SendtoHand(tc,nil,REASON_EFFECT)==1 then
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE,1-tp,LOCATION_REASON_CONTROL)
local g=Duel.GetMatchingGroup(c71400027.filter2o,tp,0,LOCATION_MZONE,nil,e)
local ct=g:GetCount()
if ct>ft then ct=ft end
if ct<1 then return end
if ct<g:GetCount() then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
g=g:Select(tp,ct,ct,nil)
end
Duel.GetControl(g,tp)
if g:GetCount()<1 then return end
local tc=g:GetFirst()
local atk=0
while tc do
local tatk=tc:GetBaseAttack()
if tatk>0 then atk=atk+tatk end
tc=g:GetNext()
end
Duel.SetLP(tp,Duel.GetLP(tp)-math.ceil(atk/2))
Duel.BreakEffect()
Duel.SkipPhase(tp,PHASE_DRAW,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_BATTLE,RESET_PHASE+PHASE_END,1,1)
Duel.SkipPhase(tp,PHASE_MAIN2,RESET_PHASE+PHASE_END,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BP)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
\ No newline at end of file
......@@ -2,17 +2,17 @@
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400028.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,99,yume.YumeCheck(c))
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,99,yume.YumeLMGFilterFunction(c))
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
--spsummon
--draw
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71400028,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetCategory(CATEGORY_DRAW+CATEGORY_RECOVER)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_REMOVE)
e1:SetCountLimit(1,71400028)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,71400028)
e1:SetTarget(c71400028.tg1)
e1:SetOperation(c71400028.op1)
c:RegisterEffect(e1)
......@@ -27,19 +27,18 @@ function c71400028.initial_effect(c)
e2:SetOperation(c71400028.op2)
c:RegisterEffect(e2)
end
function c71400028.filter1(c,e,tp,zone)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end
function c71400028.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000)
end
function c71400028.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Draw(p,d,REASON_EFFECT)>0 then
Duel.BreakEffect()
Duel.Recover(tp,1000,REASON_EFFECT)
end
end
function c71400028.con2(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -2,7 +2,7 @@
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400030.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,99,yume.YumeCheck(c))
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,99,yume.YumeLMGFilterFunction(c))
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......@@ -73,7 +73,7 @@ function c71400030.operation(e,tp,eg,ep,ev,re,r,rp)
if tatk>0 then atk=atk+tatk end
tc=og:GetNext()
end
Duel.SetLP(tp,Duel.GetLP(tp)-atk)
Duel.SetLP(tp,Duel.GetLP(tp)-math.ceil(atk/2))
end
end
end
\ No newline at end of file
......@@ -37,7 +37,7 @@ function c71400032.con2(e,tp,eg,ep,ev,re,r,rp)
end
function c71400032.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c71400032.filter2(chkc) end
if chk==0 then return Duel.IsExistingTarget(c71400032.filter2,tp,0,LOCATION_MZONE,1,nil) end
if chk==0 then return Duel.IsExistingTarget(c71400032.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,c71400032.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
......
......@@ -14,6 +14,7 @@ function c71400033.initial_effect(c)
e1:SetCondition(yume.YumeCon)
e1:SetOperation(c71400033.operation)
c:RegisterEffect(e1)
yume.AddYumeWeaponGlobal(c)
end
function c71400033.filter(c)
return c:IsType(TYPE_MONSTER)
......@@ -45,12 +46,14 @@ function c71400033.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(fc,nil,2,REASON_EFFECT)
end
end
--[[
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
--]]
end
function c71400033.limit(c)
return function (e,lp,tp)
......
......@@ -3,7 +3,7 @@ xpcall(function() require("expansions/script/c71400001") end,function() require(
function c71400034.initial_effect(c)
--Activate
--See AddYumeFieldGlobal
--special summon
--link summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
......@@ -18,7 +18,7 @@ function c71400034.initial_effect(c)
c:RegisterEffect(e1)
--todeck
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_FZONE)
......@@ -46,9 +46,10 @@ function c71400034.filter1(c)
end
function c71400034.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71400034.filter1,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c71400034.op1(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c71400034.filter1,tp,LOCATION_EXTRA,0,1,1,nil)
local tc=g:GetFirst()
......
......@@ -10,30 +10,50 @@ function c71400035.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DISABLE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,71400035+EFFECT_COUNT_CODE_OATH)
e1:SetDescription(aux.Stringid(71400035,0))
e1:SetOperation(c71400035.op1)
e1:SetTarget(c71400035.tg1)
e1:SetTarget(yume.YumeFieldCheckTarget())
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
c:RegisterEffect(e1)
--direct attack
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400035,1))
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c71400035.con2)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c71400035.tg2)
e2:SetOperation(c71400035.op2)
c:RegisterEffect(e2)
end
function c71400035.filter1(c)
return c:IsSetCard(0xc714) and c:IsAbleToGrave()
end
function c71400035.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c71400035.filter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
local c=e:GetHandler()
if chk==0 then
if c:IsLocation(LOCATION_ONFIELD) and c:IsFacedown() then
return yume.YumeFieldCheck(tp) and Duel.IsExistingMatchingCard(c71400035.filter1,tp,LOCATION_DECK,0,1,nil)
else
return yume.YumeFieldCheck(tp)
end
end
if not Duel.CheckPhaseActivity() then e:SetLabel(1) else e:SetLabel(0) end
if c:IsStatus(STATUS_ACT_FROM_HAND) then
e:SetCategory(0)
else
e:SetCategory(CATEGORY_TOGRAVE)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
end
function c71400035.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if yume.YumeFieldCheck(tp) and Duel.SelectYesNo(tp,aux.Stringid(71400035,1)) then
yume.ActivateYumeField(tp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c71400035.filter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)==1 and Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0) then
Duel.BreakEffect()
yume.ActivateYumeField(tp)
if Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD,0) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
......@@ -58,6 +78,14 @@ function c71400035.op1(e,tp,eg,ep,ev,re,r,rp)
e3:SetLabel(c:GetSequence())
Duel.RegisterEffect(e3,tp)
end
if not c:IsStatus(STATUS_ACT_FROM_HAND) and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c71400035.filter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
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
......@@ -69,11 +97,14 @@ function c71400035.op1(e,tp,eg,ep,ev,re,r,rp)
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()
......@@ -89,4 +120,26 @@ function c71400035.op1a(e,tp,eg,ep,ev,re,r,rp)
if ((rp==tp and seq==tseq) or (rp==1-tp and seq==4-tseq)) and (not ec:IsSetCard(0x714) and (ec:IsLocation(loc) or loc&LOCATION_ONFIELD==0) or not (ec:IsPreviousSetCard(0x714) or ec:IsLocation(loc)) and loc&LOCATION_ONFIELD~=0) then
Duel.NegateEffect(ev)
end
end
function c71400035.con2(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e) and yume.YumeCon(e,tp) and Duel.IsAbleToEnterBP()
end
function c71400035.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c71400035.filter2(chkc) end
if chk==0 then return Duel.IsExistingTarget(c71400035.filter2,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c71400035.filter2,tp,LOCATION_MZONE,0,1,1,nil)
end
function c71400035.filter2(c)
return c:IsFaceup() and c:IsSetCard(0x714)
end
function c71400035.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
\ No newline at end of file
......@@ -3,7 +3,7 @@ xpcall(function() require("expansions/script/c71400001") end,function() require(
function c71400040.initial_effect(c)
c:SetUniqueOnField(1,0,71400040)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2,yume.YumeCheck(c))
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2,2,yume.YumeLMGFilterFunction(c))
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......
......@@ -11,7 +11,7 @@ function c71400043.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71400043,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,71400043+EFFECT_COUNT_CODE_DUEL)
......@@ -56,7 +56,7 @@ function c71400043.initial_effect(c)
--]]
end
function c71400043.matfilter(c)
return c:IsLinkType(TYPE_EFFECT) and not c:IsLinkType(TYPE_LINK)
return c:IsSetCard(0x714) and not c:IsLinkType(TYPE_LINK)
end
function c71400043.con1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
......
......@@ -2,7 +2,7 @@
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400045.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,yume.YumeCheck(c),aux.NonTuner(yume.YumeCheck(c)),1)
aux.AddSynchroProcedure(c,yume.YumeCheck(c,true),aux.NonTuner(yume.YumeCheck(c)),1)
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......
......@@ -2,7 +2,7 @@
xpcall(function() require("expansions/script/c71400001") end,function() require("script/c71400001") end)
function c71400046.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,yume.YumeCheck(c),aux.NonTuner(yume.YumeCheck(c)),1)
aux.AddSynchroProcedure(c,yume.YumeCheck(c,true),aux.NonTuner(yume.YumeCheck(c)),1)
c:EnableReviveLimit()
--summon limit
yume.AddYumeSummonLimit(c,1)
......@@ -14,7 +14,7 @@ function c71400046.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c71400046.con1)
--e1:SetCondition(c71400046.con1)
e1:SetTarget(c71400046.tg1)
e1:SetOperation(c71400046.op1)
c:RegisterEffect(e1)
......@@ -47,9 +47,9 @@ end
function c71400046.filter1(c,tp)
return c:IsSummonPlayer(1-tp) and c:IsAbleToDeck() and c:IsLocation(LOCATION_MZONE)
end
function c71400046.con1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
--function c71400046.con1(e,tp,eg,ep,ev,re,r,rp)
-- return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
--end
function c71400046.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(c71400046.filter1,nil,tp)
local ct=g:GetCount()
......
......@@ -5,25 +5,24 @@ function c71400049.initial_effect(c)
--See AddYumeFieldGlobal
--self to deck & activate field
yume.AddYumeFieldGlobal(c,71400049,1)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(71400049,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetCountLimit(1)
e1:SetCondition(c71400049.con1)
e1:SetRange(LOCATION_FZONE)
e1:SetTarget(c71400049.tg1)
e1:SetOperation(c71400049.op1)
c:RegisterEffect(e1)
--synchro summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400049,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetTarget(c71400049.tg1)
e2:SetOperation(c71400049.op1)
c:RegisterEffect(e2)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71400049,1))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DESTROYED)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetCondition(c71400049.con2)
......@@ -31,58 +30,68 @@ function c71400049.initial_effect(c)
e2:SetOperation(c71400049.op2)
c:RegisterEffect(e2)
end
function c71400049.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c71400049.filter1(c)
return c:IsSynchroSummonable(nil) and c:IsSetCard(0x717)
end
function c71400049.op1(e,tp,eg,ep,ev,re,r,rp)
local cnt=Duel.GetLocationCount(tp,LOCATION_MZONE)
if cnt<=0 or not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then cnt=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c71400049.filter1,tp,LOCATION_HAND,0,1,cnt,nil,e,tp)
if g:GetCount()==0 then return end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local syng=Duel.GetMatchingGroup(c71400049.synfilter,tp,LOCATION_EXTRA,0,nil)
if syng:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71400049,2)) then
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c71400049.filter1,tp,LOCATION_EXTRA,0,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local syn=syng:Select(tp,1,1,nil):GetFirst()
Duel.SynchroSummon(tp,syn,nil)
local sg=g:Select(tp,1,1,nil)
local tc=sg:GetFirst()
Duel.SynchroSummon(tp,tc,nil)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_COST)
e1:SetOperation(c71400049.regop)
e1:SetLabelObject(c)
tc:RegisterEffect(e1)
end
end
function c71400049.filter1(c,e,tp)
return c:IsSetCard(0x714) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c71400049.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c71400049.filter1,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,0)
end
function c71400049.con1(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
function c71400049.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local lc=e:GetLabelObject()
local e1=Effect.CreateEffect(lc)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
e1:SetOperation(c71400049.sumop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(lc)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DISABLE_SPSUMMON)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD)
c:RegisterEffect(e2)
e:Reset()
end
--Select Synchro Monsters
function c71400049.synfilter(c)
return c:IsSetCard(0x717) and c:IsSpecialSummonable(SUMMON_TYPE_SYNCHRO)
function c71400049.sumop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetChainLimitTillChainEnd(c71400049.chainlm)
end
--Synchro Summon Filter
function c71400049.synfilter2(c)
return c:IsSetCard(0x714) and c:IsSummonType(SUMMON_TYPE_SYNCHRO)
function c71400049.chainlm(e,rp,tp)
return aux.ExceptThisCard(e)
end
function c71400049.con2(e,tp,eg,ep,ev,re,r,rp)
local ct=eg:FilterCount(c71400049.synfilter2,nil)
return ct>0
return eg:IsExists(Card.IsPreviousLocation,1,nil,LOCATION_MZONE)
end
function c71400049.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_GRAVE)
function c71400049.filter2(c,e,tp)
return c:IsSetCard(0x717) and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c71400049.op2(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local ct=eg:FilterCount(c71400049.synfilter2,nil)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.GetMatchingGroup(c71400049.filter1,tp,LOCATION_GRAVE,0,nil,e,tp)
ct=math.min(ct,ft,g:GetCount())
if ct<1 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ct=1 end
function c71400049.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c71400049.filter2(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c71400049.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,ct,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
local g=Duel.SelectTarget(tp,c71400049.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c71400049.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and e:GetHandler():IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end
end
\ No newline at end of file
......@@ -56,7 +56,7 @@ function c71400050.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
function c71400050.splimit(e,c)
return not c:IsType(TYPE_SYNCHRO) and c:IsLocation(LOCATION_EXTRA)
return not (c:IsType(TYPE_SYNCHRO) and c:IsSetCard(0x714)) and c:IsLocation(LOCATION_EXTRA)
end
function c71400050.filter2(c,tp)
return c:IsFaceup() and c:IsSetCard(0x714)
......
......@@ -83,16 +83,16 @@ function c71400051.con2(e,tp,eg,ep,ev,re,r,rp)
return yume.YumeCon(e,tp) and de and dp~=tp and re:GetHandler():IsSetCard(0x714) and rp==tp
end
function c71400051.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_GRAVE+LOCATION_ONFIELD,0,1,e:GetHandler(),0x717) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD+LOCATION_HAND,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD+LOCATION_HAND,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,1-tp,LOCATION_ONFIELD+LOCATION_HAND)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_GRAVE+LOCATION_ONFIELD,0,1,e:GetHandler(),0x717) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,1-tp,LOCATION_ONFIELD)
end
function c71400051.op2(e,tp,eg,ep,ev,re,r,rp)
if not yume.IsYumeFieldOnField(tp) then return end
local ct=Duel.GetMatchingGroupCount(Card.IsSetCard,tp,LOCATION_GRAVE+LOCATION_ONFIELD,0,1,nil,0x717)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD+LOCATION_HAND,nil)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
if ct>0 and g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local dg=g:Select(tp,1,ct,nil)
Duel.HintSelection(dg)
Duel.SendtoGrave(dg,REASON_EFFECT)
......
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