Commit 1b06f63f authored by POLYMER's avatar POLYMER

fix

parent a795c645
...@@ -133,7 +133,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -133,7 +133,7 @@ function s.spop(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 and tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then if tc and tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
s.mon2trap(tc,tp) s.mon2trap(tc,tp,e)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
Duel.BreakEffect() Duel.BreakEffect()
local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,0) local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,0)
......
...@@ -110,8 +110,7 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -110,8 +110,7 @@ function s.spcon(e,tp,eg,ep,ev,re,r,rp)
end end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) and Duel.GetFlagEffect(tp,id)<2 end if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
Duel.PayLPCost(tp,1000) Duel.PayLPCost(tp,1000)
end end
......
...@@ -63,7 +63,7 @@ function s.discost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -63,7 +63,7 @@ function s.discost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.thfilter(c) function s.thfilter(c)
return c:IsSetCard(0x6451) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x3451) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
and (c:IsLocation(LOCATION_GRAVE) or c:IsLocation(LOCATION_REMOVED)) and (c:IsLocation(LOCATION_GRAVE) or c:IsLocation(LOCATION_REMOVED))
end end
...@@ -120,7 +120,7 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -120,7 +120,7 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function s.spfilter(c) function s.spfilter(c)
return c:IsSetCard(0x6451) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x3451) and c:IsType(TYPE_MONSTER)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,nil,1)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -34,8 +34,20 @@ function s.initial_effect(c) ...@@ -34,8 +34,20 @@ function s.initial_effect(c)
e4:SetTarget(s.sptg) e4:SetTarget(s.sptg)
e4:SetOperation(s.spop) e4:SetOperation(s.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
if not cm.Effect_Count then
cm.Effect_Count=true
local e7_1=Effect.GlobalEffect()
e7_1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e7_1:SetCode(EVENT_CHAINING)
e7_1:SetOperation(cm.counterop)
Duel.RegisterEffect(e7_1,0)
end
end
function cm.counterop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnPlayer()==e:GetHandlerPlayer() then
Duel.RegisterFlagEffect(e:GetHandlerPlayer(),id+1,RESET_PHASE+PHASE_END,0,2)
end
end end
function s.synfilter(c) function s.synfilter(c)
return c:IsSetCard(0x3451) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x3451) and c:IsType(TYPE_MONSTER)
end end
...@@ -73,7 +85,6 @@ end ...@@ -73,7 +85,6 @@ end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,1,nil) end
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,0,1)
Duel.RegisterFlagEffect(tp,id+1,RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
end end
...@@ -98,7 +109,7 @@ function s.regenop(e,tp,eg,ep,ev,re,r,rp) ...@@ -98,7 +109,7 @@ function s.regenop(e,tp,eg,ep,ev,re,r,rp)
if #g>0 then if #g>0 then
local atk=g:GetSum(Card.GetAttack) local atk=g:GetSum(Card.GetAttack)
local def=g:GetSum(Card.GetDefense) local def=g:GetSum(Card.GetDefense)
Duel.Recover(tp,(atk+def)*3,REASON_EFFECT) Duel.Recover(tp,(atk+def),REASON_EFFECT)
end end
end end
end end
......
...@@ -3,9 +3,8 @@ local s,id,o=GetID() ...@@ -3,9 +3,8 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetCost(s.discost) e1:SetCost(s.discost)
e1:SetTarget(s.distg) e1:SetTarget(s.distg)
...@@ -24,7 +23,6 @@ function s.initial_effect(c) ...@@ -24,7 +23,6 @@ function s.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
-- 共用函数:将怪兽转为永续陷阱
function s.mon2trap(c,tp) function s.mon2trap(c,tp)
if not c or Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if not c or Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
...@@ -3,7 +3,7 @@ local s,id,o=GetID() ...@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_QP_ACT_IN_NTPHAND) e0:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e0:SetCondition(s.handcon) e0:SetCondition(s.handcon)
c:RegisterEffect(e0) c:RegisterEffect(e0)
...@@ -45,7 +45,7 @@ function s.actcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,7 +45,7 @@ function s.actcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end end
-- 共用函数:将怪兽转为永续陷阱
function s.mon2trap(c,tp) function s.mon2trap(c,tp)
if not c or Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return false end if not c or Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return false end
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
......
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