Commit 21a5edc3 authored by POLYMER's avatar POLYMER

fix

parent 49625845
...@@ -60,14 +60,13 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -60,14 +60,13 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER) local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
Duel.Hint(HINT_SELECTMSG,p,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,p,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(p,VHisc_HYZQ.rlft,p,LOCATION_HAND+LOCATION_MZONE,0,1,2,nil) local g=Duel.SelectMatchingCard(p,VHisc_HYZQ.rlft,p,LOCATION_HAND+LOCATION_MZONE,0,1,63,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
Duel.Draw(p,ct,REASON_EFFECT) Duel.Draw(p,ct,REASON_EFFECT)
Duel.BreakEffect() Duel.BreakEffect()
VHisc_HYZQ.mop(e,tp,m) if ct>0 and e:GetHandler():IsRelateToEffect(e) then VHisc_HYZQ.mop(e,tp,m) end
end end
--Release effect --Release effect
......
...@@ -26,6 +26,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,6 +26,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
if ct>0 and e:GetHandler():IsRelateToEffect(e) then
VHisc_HYZQ.mop(e,tp,m) VHisc_HYZQ.mop(e,tp,m)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.ft,tp,LOCATION_DECK,0,1,e:GetHandler(),tp) and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.ft,tp,LOCATION_DECK,0,1,e:GetHandler(),tp) and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then
Duel.BreakEffect() Duel.BreakEffect()
...@@ -35,6 +36,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,6 +36,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
sc:AddMonsterAttribute(TYPE_NORMAL) sc:AddMonsterAttribute(TYPE_NORMAL)
Duel.SpecialSummon(sc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(sc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)
end end
end
end end
function s.ft(c,tp) function s.ft(c,tp)
return c.VHisc_HYZQ and not c:IsCode(33201371) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),nil,TYPES_NORMAL_TRAP_MONSTER,1500,1500,4,RACE_ROCK,ATTRIBUTE_EARTH) return c.VHisc_HYZQ and not c:IsCode(33201371) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),nil,TYPES_NORMAL_TRAP_MONSTER,1500,1500,4,RACE_ROCK,ATTRIBUTE_EARTH)
......
...@@ -30,11 +30,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -30,11 +30,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
VHisc_HYZQ.mop(e,tp,m) if ct>0 and e:GetHandler():IsRelateToEffect(e) then VHisc_HYZQ.mop(e,tp,m) end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
......
...@@ -23,11 +23,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -23,11 +23,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,1,tp,nil) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,1,tp,nil)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
VHisc_HYZQ.mop(e,tp,m) if ct>0 and e:GetHandler():IsRelateToEffect(e) then VHisc_HYZQ.mop(e,tp,m) end
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
...@@ -26,6 +26,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,6 +26,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
if ct>0 and e:GetHandler():IsRelateToEffect(e) then
VHisc_HYZQ.mop(e,tp,m) VHisc_HYZQ.mop(e,tp,m)
if Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then if Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.BreakEffect() Duel.BreakEffect()
...@@ -33,6 +34,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,6 +34,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(sg) Duel.HintSelection(sg)
Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.SendtoHand(sg,nil,REASON_EFFECT)
end end
end
end end
--Release effect --Release effect
......
...@@ -38,11 +38,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,11 +38,10 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,tp,LOCATION_HAND+LOCATION_MZONE)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,VHisc_HYZQ.rlft,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local ct=Duel.SendtoGrave(g,REASON_RELEASE) local ct=Duel.SendtoGrave(g,REASON_RELEASE)
VHisc_HYZQ.mop(e,tp,id) if ct>0 and e:GetHandler():IsRelateToEffect(e) then VHisc_HYZQ.mop(e,tp,id) end
end end
--Release effect --Release effect
......
...@@ -54,9 +54,10 @@ end ...@@ -54,9 +54,10 @@ end
function cm.operation(e,tp,eg,ep,ev,re,r,rp) function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ag=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_MZONE,0,c,TYPE_MONSTER):Select(tp,1,1,nil) local ag=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_MZONE,0,c,TYPE_MONSTER):Select(tp,1,1,nil)
if Duel.SendtoGrave(ag,REASON_EFFECT)~=0 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then local res=Duel.SendtoGrave(ag,REASON_EFFECT)
local race=ag:GetFirst():GetRace() if Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
local attr=ag:GetFirst():GetAttribute() local race=res and ag:GetFirst():GetRace() or 0
local attr=res and ag:GetFirst():GetAttribute() or 0
local gg=Duel.GetMatchingGroup(cm.fil,tp,LOCATION_DECK,0,nil,race,attr):Select(tp,1,1,nil) local gg=Duel.GetMatchingGroup(cm.fil,tp,LOCATION_DECK,0,nil,race,attr):Select(tp,1,1,nil)
Duel.SendtoGrave(gg,REASON_EFFECT) Duel.SendtoGrave(gg,REASON_EFFECT)
end end
......
...@@ -119,7 +119,7 @@ function c71404000.cost4(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -119,7 +119,7 @@ function c71404000.cost4(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemoveAsCost,tp,LOCATION_HAND,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemoveAsCost,tp,LOCATION_HAND,0,1,1,e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
Duel.RegisterFlagEffect(tp,71404000,RESET_CHAIN,0,1) Duel.RegisterFlagEffect(tp,71404000,RESET_CHAIN,0,1)
yume.stellar_memories.RegStellarCostLimit(e,tp) yume.stellar_memories.RegCostLimit(e,tp)
end end
function c71404000.tg4(e,tp,eg,ep,ev,re,r,rp,chk) function c71404000.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -12,10 +12,11 @@ function s.initial_effect(c) ...@@ -12,10 +12,11 @@ function s.initial_effect(c)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.operation) e1:SetOperation(s.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local custom_code=aux.RegisterMergedDelayedEvent_ToSingleCard(c,id,EVENT_LEAVE_FIELD)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(custom_code)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED) e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e3:SetCountLimit(1,id+1000) e3:SetCountLimit(1,id+1000)
......
...@@ -17,10 +17,11 @@ function s.initial_effect(c) ...@@ -17,10 +17,11 @@ function s.initial_effect(c)
e0:SetCondition(s.hsyncon) e0:SetCondition(s.hsyncon)
e0:SetOperation(s.hsynreg) e0:SetOperation(s.hsynreg)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local custom_code=aux.RegisterMergedDelayedEvent_ToSingleCard(c,id,EVENT_LEAVE_FIELD)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(custom_code)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED) e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e3:SetCountLimit(1,id+1000) e3:SetCountLimit(1,id+1000)
......
...@@ -9,10 +9,11 @@ function s.initial_effect(c) ...@@ -9,10 +9,11 @@ function s.initial_effect(c)
e1:SetTarget(s.sptg) e1:SetTarget(s.sptg)
e1:SetOperation(s.spop) e1:SetOperation(s.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local custom_code=aux.RegisterMergedDelayedEvent_ToSingleCard(c,id,EVENT_LEAVE_FIELD)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(custom_code)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED) e3:SetRange(LOCATION_GRAVE+LOCATION_REMOVED)
e3:SetCountLimit(1,id) e3:SetCountLimit(1,id)
......
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