Commit aa80f67b authored by 独孤朲's avatar 独孤朲

Merge pull request #1036 from salix5/patch1

fix: other
parents cb50b4ae 187942df
......@@ -13,10 +13,18 @@ function c1372887.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetLabel(0)
e1:SetCondition(c1372887.drcon)
e1:SetOperation(c1372887.drop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetLabelObject(e1)
e2:SetOperation(c1372887.rst)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c1372887.cfilter(c,tp)
return c:IsControler(1-tp) and not c:IsReason(REASON_DRAW) and c:IsPreviousLocation(LOCATION_DECK+LOCATION_GRAVE)
......@@ -25,6 +33,14 @@ function c1372887.drcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c1372887.cfilter,1,nil,tp)
end
function c1372887.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,1372887)
Duel.Draw(tp,1,REASON_EFFECT)
if e:GetLabel()==0 then
Duel.Hint(HINT_CARD,0,1372887)
Duel.Draw(tp,1,REASON_EFFECT)
if Duel.GetCurrentChain()>0 then
e:SetLabel(1)
end
end
end
function c1372887.rst(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():SetLabel(0)
end
......@@ -9,6 +9,7 @@ function c13756293.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(c13756293.etarget)
e1:SetValue(c13756293.evalue)
c:RegisterEffect(e1)
......
......@@ -42,6 +42,7 @@ function c18235309.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetLabel()~=1 then return end
e:GetHandler():RegisterFlagEffect(18235309,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(18235309,2))
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
end
function c18235309.activate(e,tp,eg,ep,ev,re,r,rp)
......
--
--六武衆の影-紫炎
function c1828513.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x3d),4,2)
......
......@@ -21,8 +21,9 @@ function c29417188.operation(e,tp,eg,ep,ev,re,r,rp)
--forbidden
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EFFECT_FORBIDDEN)
e1:SetTargetRange(0x7f,0x7f)
e1:SetTarget(c29417188.bantg)
e1:SetLabel(e:GetLabel())
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
......@@ -30,7 +31,7 @@ function c29417188.operation(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DISABLE)
e2:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e2:SetTargetRange(0x7f,0x7f)
e2:SetTarget(c29417188.bantg)
e2:SetLabel(e:GetLabel())
e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
......
......@@ -52,6 +52,7 @@ function c30398342.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
e:GetHandler():RegisterFlagEffect(30398342,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(30398342,2))
else
e:SetCategory(0)
end
......
......@@ -6,6 +6,7 @@ function c33655493.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(c33655493.tg)
e1:SetValue(1)
c:RegisterEffect(e1)
......
......@@ -30,6 +30,7 @@ function c34822850.initial_effect(c)
e4:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e4:SetRange(LOCATION_FZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetTarget(c34822850.tgtg)
e4:SetValue(c34822850.tgval)
c:RegisterEffect(e4)
......
......@@ -34,6 +34,7 @@ function c35011819.target1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetPlayer(tc:GetControler())
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tc:GetControler(),1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(35011819,2))
end
end
function c35011819.activate1(e,tp,eg,ep,ev,re,r,rp)
......
--シューティング·クェーサー·ドラゴン
--シューティング・クェーサー・ドラゴン
function c35952884.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsType,TYPE_SYNCHRO),aux.NonTuner(Card.IsType,TYPE_SYNCHRO),2)
......@@ -48,15 +48,21 @@ function c35952884.initial_effect(c)
e6:SetCode(EVENT_TO_DECK)
c:RegisterEffect(e6)
end
function c35952884.mfilter(c)
return not c:IsType(TYPE_TUNER)
end
function c35952884.mtop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=c:GetMaterialCount()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetReset(RESET_EVENT+0x1ff0000)
e1:SetValue(ct-2)
c:RegisterEffect(e1)
local mg=c:GetMaterial()
local ct=mg:FilterCount(mg,c35952884.mfilter,nil)
if bit.band(r,REASON_SYNCHRO)~=0 and ct>0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetReset(RESET_EVENT+0x1ff0000)
e1:SetValue(ct)
c:RegisterEffect(e1)
end
end
function c35952884.discon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
......
......@@ -26,6 +26,7 @@ function c39537362.target1(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.SelectYesNo(tp,aux.Stringid(39537362,1)) then
e:SetLabel(1)
Duel.SetTargetCard(Duel.GetAttacker())
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(39537362,2))
else e:SetLabel(0) end
end
function c39537362.condition(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -5,7 +5,6 @@ function c39900763.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c39900763.target)
e1:SetOperation(c39900763.operation)
c:RegisterEffect(e1)
......@@ -27,7 +26,7 @@ function c39900763.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectTarget(1-tp,c39900763.filter,1-tp,LOCATION_REMOVED,0,1,1,nil,e,1-tp)
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g1,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g1,2,PLAYER_ALL,0)
end
function c39900763.operation(e,tp,eg,ep,ev,re,r,rp)
local tc1=e:GetLabelObject()
......
......@@ -24,6 +24,7 @@ function c40555959.activate(e,tp,eg,ep,ev,re,r,rp)
and Duel.SelectYesNo(tp,aux.Stringid(40555959,1)) then
c40555959.remop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(40555959,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40555959,2))
end
end
function c40555959.cfilter(c)
......
......@@ -9,18 +9,18 @@ function c43711255.initial_effect(c)
--forbidden
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_RANGE)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetCode(EFFECT_FORBIDDEN)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0x7f,0x7f)
e2:SetTarget(c43711255.bantg)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_IGNORE_RANGE)
e3:SetCode(EFFECT_DISABLE)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e3:SetTargetRange(0x7f,0x7f)
e3:SetTarget(c43711255.bantg)
e3:SetLabelObject(e1)
c:RegisterEffect(e3)
......
......@@ -4,6 +4,8 @@ function c5026221.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c5026221.target1)
e1:SetOperation(c5026221.operation)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
......@@ -14,10 +16,24 @@ function c5026221.initial_effect(c)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(c5026221.condition)
e2:SetTarget(c5026221.target)
e2:SetTarget(c5026221.target2)
e2:SetOperation(c5026221.operation)
e2:SetLabel(1)
c:RegisterEffect(e2)
end
function c5026221.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local tn=Duel.GetTurnPlayer()
local ph=Duel.GetCurrentPhase()
if ((tn==tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)) or (tn~=tp and ph==PHASE_BATTLE))
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c5026221.filter,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(5026221,1)) then
e:GetHandler():RegisterFlagEffect(5026221,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(5026221,2))
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
end
function c5026221.condition(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
if Duel.GetTurnPlayer()==tp then
......@@ -29,13 +45,15 @@ end
function c5026221.filter(c,e,tp)
return c:IsSetCard(0x9c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c5026221.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
function c5026221.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(5026221)==0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c5026221.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
e:GetHandler():RegisterFlagEffect(5026221,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c5026221.operation(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if e:GetHandler():GetFlagEffect(5026221)==0 or not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c5026221.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
......
......@@ -16,10 +16,10 @@ function c51945556.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_ADVANCE
end
function c51945556.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsDestructable() end
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsDestructable,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c51945556.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -55,6 +55,7 @@ function c52198054.target1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
e:SetLabel(1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(40555959,2))
else
e:SetCategory(0)
e:SetProperty(0)
......
......@@ -6,16 +6,18 @@ function c53550467.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCondition(c53550467.con)
e1:SetTarget(c53550467.tg)
e1:SetValue(1)
c:RegisterEffect(e1)
--
--cannot be effect target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCondition(c53550467.con)
e2:SetTarget(c53550467.tg)
e2:SetValue(c53550467.efval)
......
......@@ -24,7 +24,7 @@ function c54407825.condition(e,tp,eg,ep,ev,re,r,rp)
end
function c54407825.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToDeck() end
if chk==0 then return true end
if chk==0 then return e:GetHandler():IsRelateToEffect(e) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
......
......@@ -33,7 +33,7 @@ function c5851097.descon(e,tp,eg,ep,ev,re,r,rp)
end
function c5851097.destg(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 c:IsRelateToEffect(e) end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,c,1,0,0)
end
function c5851097.desop(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -15,14 +15,11 @@ end
function c60229110.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_ADVANCE
end
function c60229110.filter(c)
return c:IsFacedown() and c:IsDestructable()
end
function c60229110.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c60229110.filter(chkc) end
if chkc then return chkc:IsOnField() and chkc:IsFacedown() end
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c60229110.filter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
local g=Duel.SelectTarget(tp,Card.IsFacedown(),tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c60229110.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -6,6 +6,7 @@ function c61380658.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(c61380658.target)
e1:SetValue(1)
c:RegisterEffect(e1)
......
......@@ -47,7 +47,8 @@ function c64605089.efop(e,tp,eg,ep,ev,re,r,rp)
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(rc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetDescription(aux.Stringid(64605089,1))
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e1:SetCountLimit(1)
......
......@@ -31,6 +31,7 @@ function c65025250.initial_effect(c)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetTarget(c65025250.tgtg)
e4:SetValue(c65025250.tgval)
c:RegisterEffect(e4)
......
......@@ -23,5 +23,5 @@ function c68937720.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c68937720.aclimit(e,re,tp)
local loc=re:GetActivateLocation()
return loc==LOCATION_HAND and re:IsActiveType(TYPE_MONSTER)
return loc==LOCATION_HAND and re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end
......@@ -37,6 +37,7 @@ function c70875955.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
e:SetLabel(1)
e:GetHandler():RegisterFlagEffect(70875955,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(70875955,3))
else
e:SetCategory(0)
e:SetLabel(0)
......
......@@ -16,10 +16,10 @@ function c73125233.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_ADVANCE
end
function c73125233.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToDeck() end
if chkc then return chkc:IsOnField() end
if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end
function c73125233.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -23,5 +23,5 @@ function c73599290.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
function c73599290.aclimit(e,re,tp)
local loc=re:GetActivateLocation()
return (loc==LOCATION_GRAVE or loc==LOCATION_REMOVED) and re:IsActiveType(TYPE_MONSTER)
return (loc==LOCATION_GRAVE or loc==LOCATION_REMOVED) and re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end
......@@ -55,13 +55,14 @@ function c76136345.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c76136345.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(10)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
Duel.SpecialSummonComplete()
end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
......
......@@ -9,10 +9,11 @@ function c76721030.initial_effect(c)
--cannot trigger
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_TRIGGER)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE+LOCATION_HAND,LOCATION_MZONE+LOCATION_HAND)
e2:SetTarget(c76721030.etarget)
e2:SetTargetRange(1,1)
e2:SetTarget(c76721030.aclimit)
c:RegisterEffect(e2)
end
function c76721030.cost(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -20,6 +21,7 @@ function c76721030.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local rg=Duel.SelectReleaseGroup(tp,nil,2,2,nil)
Duel.Release(rg,REASON_COST)
end
function c76721030.etarget(e,c)
return c:IsType(TYPE_MONSTER)
function c76721030.aclimit(e,re,tp)
local loc=re:GetActivateLocation()
return (loc==LOCATION_MZONE or loc==LOCATION_HAND) and re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end
......@@ -40,7 +40,9 @@ function c78663366.retcon(e,tp,eg,ep,ev,re,r,rp)
end
function c78663366.retop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if Duel.ReturnToField(tc) and tc:IsFaceup() then
if tc:IsForbidden() then
Duel.SendtoGrave(tc,REASON_RULE)
elseif Duel.ReturnToField(tc) and tc:IsFaceup() then
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
......
......@@ -6,7 +6,7 @@ function c80208158.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e1:SetTarget(c80208158.tglimit)
e1:SetValue(1)
......
......@@ -28,7 +28,7 @@ function c8102334.initial_effect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,0)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetTarget(c8102334.tglimit)
e4:SetValue(c8102334.tgvalue)
......
......@@ -12,10 +12,11 @@ function c81471108.initial_effect(c)
e1:SetTarget(c81471108.eqtg)
e1:SetOperation(c81471108.eqop)
c:RegisterEffect(e1)
--
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetValue(c81471108.indval)
c:RegisterEffect(e2)
--destroy sub
......
......@@ -15,13 +15,14 @@ function c85909450.initial_effect(c)
e2:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCondition(c85909450.effcon)
e2:SetTarget(c85909450.target)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_IGNORE_RANGE)
e3:SetProperty(EFFECT_FLAG_IGNORE_RANGE+EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(c85909450.tgvalue)
c:RegisterEffect(e3)
--remove material
......
......@@ -59,6 +59,7 @@ function c87259933.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
e:GetHandler():RegisterFlagEffect(87259933,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(87259933,3))
else
e:SetCategory(0)
end
......
......@@ -53,9 +53,9 @@ function c87288189.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToRemove() end
if chk==0 then return true end
local ct=1
if e:GetLabel()==1 then ct=2 end
if e:GetLabel()==1 and Duel.SelectYesNo(tp,aux.Stringid(87288189,2)) then ct=2 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,ct,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000)
end
......
......@@ -61,12 +61,12 @@ function c8809344.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetValue(tc:GetAttribute())
e1:SetValue(tc:GetOriginalAttribute())
e1:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetValue(tc:GetRace())
e2:SetValue(tc:GetOriginalRace())
c:RegisterEffect(e2)
end
end
......@@ -6,6 +6,7 @@ function c9264485.initial_effect(c)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTarget(c9264485.etarget)
e1:SetValue(c9264485.efilter)
c:RegisterEffect(e1)
......
--皺挸及忐荾氪失玉伊它旦
--終焉の守護者アドレウス
function c94119480.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,5,2)
......
......@@ -36,6 +36,7 @@ function c94432298.tgtg1(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.SelectYesNo(tp,aux.Stringid(94432298,0)) then
e:SetCategory(CATEGORY_TOGRAVE)
e:GetHandler():RegisterFlagEffect(94432298,RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(94432298,1))
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
else
e:SetCategory(0)
......
......@@ -24,7 +24,7 @@ function c96363153.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleDeck(tp)
Duel.BreakEffect()
Duel.DiscardDeck(tp,1,REASON_EFFECT)
end
Duel.BreakEffect()
Duel.DiscardDeck(tp,1,REASON_EFFECT)
end
......@@ -230,9 +230,9 @@ EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的诱发效果
--========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 --
EFFECT_FLAG_FUNC_VALUE =0x0002 --此效果的Value属性是函数
EFFECT_FLAG_COUNT_LIMIT =0x0004 --发动次数限制
EFFECT_FLAG_FIELD_ONLY =0x0008 --场上只有1只
EFFECT_FLAG_FIELD_ONLY =0x0008 --此效果是注册给全局环境的
EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果
EFFECT_FLAG_IGNORE_RANGE =0x0020 --影响所有区域的卡(禁止令 大宇宙 王宫的铁壁)
EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 --Target Range不会因为控制权的改变而改变
......@@ -477,14 +477,14 @@ EVENT_CHANGE_POS =1016 --表示形式变更时
EVENT_RELEASE =1017 --解放时
EVENT_DISCARD =1018 --丢弃手牌时
EVENT_LEAVE_FIELD_P =1019 --永久离场时
EVENT_CHAIN_SOLVING =1020 --连锁处理
EVENT_CHAIN_ACTIVATING =1021 --连锁发动时
EVENT_CHAIN_SOLVING =1020 --连锁处理开始时(EVENT_CHAIN_ACTIVATING之後)
EVENT_CHAIN_ACTIVATING =1021 --连锁处理准备中
EVENT_CHAIN_SOLVED =1022 --连锁处理结束时
EVENT_CHAIN_ACTIVATED =1023 --连锁发动完时
EVENT_CHAIN_NEGATED =1024 --连锁被无效时(发动无效)
EVENT_CHAIN_ACTIVATED =1023 --???
EVENT_CHAIN_NEGATED =1024 --连锁被无效时(发动无效,EVENT_CHAIN_ACTIVATING之後
EVENT_CHAIN_DISABLED =1025 --连锁被无效时(效果无效)
EVENT_CHAIN_END =1026 --连锁结束时
EVENT_CHAINING =1027 --正在连锁
EVENT_CHAIN_END =1026 --连锁结束时
EVENT_CHAINING =1027 --效果发动时
EVENT_BECOME_TARGET =1028 --成为效果对象时
EVENT_DESTROYED =1029 --破坏确定时
EVENT_ADJUST =1040 --调整(御前试合)
......
......@@ -938,5 +938,6 @@ function Auxiliary.PendOperation()
local g=Duel.SelectMatchingCard(tp,Auxiliary.PConditionFilter,tp,LOCATION_HAND+LOCATION_EXTRA,0,1,ft,nil,e,tp,lscale,rscale)
sg:Merge(g)
end
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(0,1074))
end
end
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