Commit 79f121b2 authored by VanillaSalt's avatar VanillaSalt

fix

parent 58b11189
......@@ -22,8 +22,8 @@ function c16114248.spfilter2(c,code)
return c:IsRace(RACE_MACHINE) and c:IsCode(code)
end
function c16114248.fscondition(e,mg,gc)
if mg==nil then return false end
if gc then return true end
if mg==nil then return true end
if gc then return false end
return mg:IsExists(c16114248.spfilter,1,nil,mg)
end
function c16114248.fsoperation(e,tp,eg,ep,ev,re,r,rp,gc)
......
......@@ -6,7 +6,6 @@ function c18175965.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.FALSE)
c:RegisterEffect(e1)
--summon limit
local e2=Effect.CreateEffect(c)
......@@ -56,9 +55,8 @@ function c18175965.initial_effect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e8:SetCode(EVENT_TO_GRAVE)
e8:SetCondition(c18175965.spcon2)
e8:SetCost(c18175965.spcost)
e8:SetTarget(c18175965.sptg)
e8:SetOperation(c18175965.spop)
e8:SetTarget(c18175965.sptg2)
e8:SetOperation(c18175965.spop2)
c:RegisterEffect(e8)
end
function c18175965.cfilter(c,tp)
......@@ -99,7 +97,15 @@ end
function c18175965.spcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c18175965.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsAbleToGraveAsCost,1,1,REASON_COST)
function c18175965.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_HANDES,0,0,tp,1)
end
function c18175965.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.DiscardHand(tp,nil,1,1,REASON_EFFECT)==0 then return end
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)
end
end
......@@ -40,7 +40,7 @@ function c32919136.initial_effect(c)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_EQUIP)
e5:SetCode(EFFECT_SET_CONTROL)
e5:SetValue(c32919136.val)
e5:SetValue(c32919136.ctval)
c:RegisterEffect(e5)
end
function c32919136.filter(c)
......@@ -86,6 +86,6 @@ end
function c32919136.descon(e)
return not Duel.IsExistingMatchingCard(c32919136.desfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,1,nil)
end
function c32919136.val(e)
return e:GetHandler():GetControler()
end
\ No newline at end of file
function c32919136.ctval(e,c)
return e:GetHandlerPlayer()
end
......@@ -21,10 +21,9 @@ function c42776960.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c42776960.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local tc=g:GetFirst()
--dam
local tc=g:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
......@@ -32,9 +31,8 @@ function c42776960.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetTargetRange(1,0)
e1:SetValue(1)
e1:SetValue(0)
tc:RegisterEffect(e1)
--lose
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
......@@ -47,4 +45,4 @@ end
function c42776960.leaveop(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_RELAY_SOUL=0x1a
Duel.Win(e:GetLabel(),WIN_REASON_RELAY_SOUL)
end
\ No newline at end of file
end
......@@ -11,11 +11,6 @@ function c45247637.initial_effect(c)
e1:SetOperation(c45247637.operation)
c:RegisterEffect(e1)
--control
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_SET_CONTROL)
e4:SetValue(c45247637.val)
c:RegisterEffect(e4)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(45247637,0))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
......@@ -24,13 +19,18 @@ function c45247637.initial_effect(c)
e2:SetCountLimit(1)
e2:SetCondition(c45247637.ccon)
e2:SetOperation(c45247637.cop1)
e2:SetLabelObject(e4)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetOperation(c45247637.cop2)
e3:SetLabelObject(e4)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_SET_CONTROL)
e4:SetValue(c45247637.ctval)
c:RegisterEffect(e4)
e2:SetLabelObject(e4)
e3:SetLabelObject(e4)
end
function c45247637.costfilter(c)
return c:IsRace(RACE_PLANT) and c:IsAbleToRemove()
......@@ -82,6 +82,6 @@ function c45247637.cop2(e,tp,eg,ep,ev,re,r,rp)
local ce=e:GetLabelObject()
if ce then ce:SetValue(1-tp) end
end
function c45247637.val(e)
return e:GetHandler():GetControler()
end
\ No newline at end of file
function c45247637.ctval(e,c)
return e:GetHandlerPlayer()
end
......@@ -32,7 +32,7 @@ function c45986603.initial_effect(c)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_SET_CONTROL)
e4:SetValue(c45986603.val)
e4:SetValue(c45986603.ctval)
c:RegisterEffect(e4)
end
function c45986603.filter(c)
......@@ -71,6 +71,6 @@ function c45986603.recop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
function c45986603.val(e)
return e:GetHandler():GetControler()
end
\ No newline at end of file
function c45986603.ctval(e,c)
return e:GetHandlerPlayer()
end
......@@ -52,8 +52,7 @@ function c56240989.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=dg:Select(tp,1,1,nil)
local tc1=sg:GetFirst()
dg:RemoveCard(tc1)
local tc2=dg:Filter(Card.IsCode,nil,tc1:GetCode()):GetFirst()
local tc2=dg:Filter(Card.IsCode,tc1,tc1:GetCode()):GetFirst()
Duel.SpecialSummonStep(tc1,154,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(tc2,154,tp,tp,false,false,POS_FACEUP)
tc1:RegisterFlagEffect(56240989,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
......@@ -75,14 +74,14 @@ function c56240989.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete()
sg:AddCard(tc2)
sg:KeepAlive()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabelObject(sg)
e1:SetOperation(c56240989.rmop)
Duel.RegisterEffect(e1,tp)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_PHASE+PHASE_END)
e5:SetReset(RESET_PHASE+PHASE_END)
e5:SetCountLimit(1)
e5:SetLabelObject(sg)
e5:SetOperation(c56240989.rmop)
Duel.RegisterEffect(e5,tp)
end
end
function c56240989.rmfilter(c)
......
......@@ -14,6 +14,12 @@ function c56638325.initial_effect(c)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CHAIN_END)
e3:SetOperation(c56638325.limop2)
c:RegisterEffect(e3)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(56638325,0))
......@@ -45,7 +51,17 @@ function c56638325.limcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()>0 and eg:IsExists(c56638325.limfilter,1,nil,tp)
end
function c56638325.limop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetChainLimitTillChainEnd(c56638325.chainlm)
if Duel.GetCurrentChain()==0 then
Duel.SetChainLimitTillChainEnd(c56638325.chainlm)
else
e:GetHandler():RegisterFlagEffect(56638325,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end
end
function c56638325.limop2(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetOverlayCount()>0 and e:GetHandler():GetFlagEffect(56638325)~=0 then
Duel.SetChainLimitTillChainEnd(c56638325.chainlm)
end
e:GetHandler():ResetFlagEffect(56638325)
end
function c56638325.chainlm(e,rp,tp)
return tp==rp
......
......@@ -36,7 +36,7 @@ function c96142517.filter2(c,e,tp,rk)
end
function c96142517.spfilter(c,e,tp,rk)
return c:GetRank()==rk and (c:IsSetCard(0x1048) or c:IsSetCard(0x1073))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c96142517.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
......@@ -69,7 +69,6 @@ function c96142517.activate(e,tp,eg,ep,ev,re,r,rp)
if sc then
local mg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
Duel.Overlay(sc,mg)
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP)
end
end
--CNo.73激瀧瀑神アビス・スープラ
--CNo.73 激瀧瀑神アビス・スープラ
function c96864105.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.XyzFilterFunction(c,6),3)
......@@ -21,17 +21,16 @@ function c96864105.initial_effect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetCondition(c96864105.indescon)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetCondition(c96864105.indcon)
e2:SetValue(1)
c:RegisterEffect(e2)
end
c96864105.xyz_number=73
function c96864105.atkcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local at=Duel.GetAttacker()
local bt=Duel.GetAttackTarget()
return (at and at:GetControler()==tp or bt and bt:GetControler()==tp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
return d and a:GetControler()~=d:GetControler()
and Duel.GetCurrentPhase()==PHASE_DAMAGE_CAL and not Duel.IsDamageCalculated()
end
function c96864105.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -43,20 +42,16 @@ end
function c96864105.atkop(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
if not (a:IsRelateToBattle() and d and d:IsRelateToBattle()) then return end
if not a:IsRelateToBattle() or a:IsFacedown() or not d:IsRelateToBattle() or d:IsFacedown() then return end
if a:IsControler(1-tp) then a,d=d,a end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetOwnerPlayer(tp)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_DAMAGE_CAL)
if a:GetControler()==tp then
e1:SetValue(d:GetAttack())
a:RegisterEffect(e1)
else
e1:SetValue(a:GetAttack())
d:RegisterEffect(e1)
end
e1:SetValue(d:GetAttack())
a:RegisterEffect(e1)
end
function c96864105.indcon(e)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,36076683)
end
function c96864105.indescon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,36076683)
end
\ No newline at end of file
......@@ -61,7 +61,7 @@ function c99013397.operation(e,tp,eg,ep,ev,re,r,rp)
end
function c99013397.descon(e,tp,eg,ep,ev,re,r,rp)
local eqc=e:GetHandler():GetEquipTarget()
return eqc==Duel.GetAttacker() or eqc==Duel.GetAttackTarget()
return eqc==Duel.GetAttacker()
end
function c99013397.dfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsDestructable()
......
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