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