Commit 7abe2778 authored by VanillaSalt's avatar VanillaSalt

Merge pull request #1286 from DailyShana/patch-3

fix
parents a585c9d5 68be34ce
...@@ -51,13 +51,13 @@ end ...@@ -51,13 +51,13 @@ end
c45627618.pendulum_level=7 c45627618.pendulum_level=7
function c45627618.pctg(e,tp,eg,ep,ev,re,r,rp,chk) function c45627618.pctg(e,tp,eg,ep,ev,re,r,rp,chk)
local seq=e:GetHandler():GetSequence() local seq=e:GetHandler():GetSequence()
if chk==0 then return Duel.CheckLocation(tp,LOCATION_SZONE,13-seq)==nil if chk==0 then return Duel.CheckLocation(tp,LOCATION_SZONE,13-seq)==true
and Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_DECK,0,1,nil,TYPE_PENDULUM) end and Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_DECK,0,1,nil,TYPE_PENDULUM) end
end end
function c45627618.pcop(e,tp,eg,ep,ev,re,r,rp) function c45627618.pcop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local seq=e:GetHandler():GetSequence() local seq=e:GetHandler():GetSequence()
if Duel.CheckLocation(tp,LOCATION_SZONE,13-seq) then return end if Duel.CheckLocation(tp,LOCATION_SZONE,13-seq)==false then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,Card.IsType,tp,LOCATION_DECK,0,1,1,nil,TYPE_PENDULUM) local g=Duel.SelectMatchingCard(tp,Card.IsType,tp,LOCATION_DECK,0,1,1,nil,TYPE_PENDULUM)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -33,7 +33,7 @@ function c46502744.initial_effect(c) ...@@ -33,7 +33,7 @@ function c46502744.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c46502744.spcon(e,tp,eg,ep,ev,re,r,rp) function c46502744.spcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and re:IsHasCategory(CATEGORY_SPECIAL_SUMMON) return ep~=tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsActiveType(TYPE_SPELL) and re:IsHasCategory(CATEGORY_SPECIAL_SUMMON)
end end
function c46502744.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c46502744.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(46502744)==0 end if chk==0 then return e:GetHandler():GetFlagEffect(46502744)==0 end
......
...@@ -56,7 +56,8 @@ function c5050644.reop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,7 +56,8 @@ function c5050644.reop1(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c5050644.cfilter2(c,tp) function c5050644.cfilter2(c,tp)
return c:IsSetCard(0xc9) and c:IsReason(REASON_DESTROY) and c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:GetPreviousControler()==tp return c:IsSetCard(0xc9) and c:IsReason(REASON_DESTROY) and c:IsReason(REASON_BATTLE+REASON_EFFECT)
and c:GetPreviousControler()==tp and c:IsPreviousPosition(POS_FACEUP)
end end
function c5050644.recon2(e,tp,eg,ep,ev,re,r,rp) function c5050644.recon2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c5050644.cfilter2,1,nil,tp) return eg:IsExists(c5050644.cfilter2,1,nil,tp)
......
...@@ -22,7 +22,6 @@ function c58569561.initial_effect(c) ...@@ -22,7 +22,6 @@ function c58569561.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c58569561.actcon(e,tp,eg,ep,ev,re,r,rp) function c58569561.actcon(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLP(tp)<=Duel.GetLP(1-tp) then return false end
local ac=Duel.GetAttacker() local ac=Duel.GetAttacker()
return ac and ac:IsControler(tp) and ac:IsRace(RACE_PLANT) return ac and ac:IsControler(tp) and ac:IsRace(RACE_PLANT)
end end
...@@ -34,10 +33,15 @@ function c58569561.actop(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,10 +33,15 @@ function c58569561.actop(e,tp,eg,ep,ev,re,r,rp)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetCondition(c58569561.accon)
e1:SetValue(c58569561.actlimit) e1:SetValue(c58569561.actlimit)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_DAMAGE) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_DAMAGE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c58569561.accon(e)
local tp=e:GetHandlerPlayer()
return Duel.GetLP(tp)>Duel.GetLP(1-tp)
end
function c58569561.actlimit(e,re,tp) function c58569561.actlimit(e,re,tp)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e) return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsImmuneToEffect(e)
end end
......
...@@ -14,15 +14,19 @@ end ...@@ -14,15 +14,19 @@ end
function c70899775.condition(e,tp,eg,ep,ev,re,r,rp) function c70899775.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated() return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
end end
function c70899775.filter(c)
return c:IsFaceup() and c:GetFlagEffect(70899775)==0
end
function c70899775.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c70899775.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c70899775.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c70899775.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c70899775.filter,tp,LOCATION_MZONE,0,1,1,nil)
end end
function c70899775.activate(e,tp,eg,ep,ev,re,r,rp) function c70899775.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsType(TYPE_MONSTER) then if tc:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsType(TYPE_MONSTER) and tc:GetFlagEffect(70899775)==0 then
tc:RegisterFlagEffect(70899775,RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetCode(EFFECT_SET_BASE_ATTACK)
......
...@@ -20,7 +20,7 @@ function c92746535.initial_effect(c) ...@@ -20,7 +20,7 @@ function c92746535.initial_effect(c)
--cannot be material --cannot be material
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL) e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e3:SetValue(c92746535.splimit) e3:SetValue(c92746535.splimit)
c:RegisterEffect(e3) c:RegisterEffect(e3)
......
...@@ -45,6 +45,7 @@ function c93969023.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,6 +45,7 @@ function c93969023.eqop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetLabelObject(tc)
e1:SetValue(c93969023.eqlimit) e1:SetValue(c93969023.eqlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
...@@ -55,7 +56,7 @@ function c93969023.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +56,7 @@ function c93969023.eqop(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c93969023.eqlimit(e,c) function c93969023.eqlimit(e,c)
return c:IsSetCard(0x3b) return c==e:GetLabelObject()
end end
function c93969023.thcon(e,tp,eg,ep,ev,re,r,rp) function c93969023.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
......
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