Commit 2551e8b7 authored by Tachibana's avatar Tachibana

得得得得得

parent d9fd7a82
......@@ -86,6 +86,6 @@ function cm.setop(e,tp,eg,ep,ev,re,r,rp)
local tep=c:GetControler()
local cost=te:GetCost()
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(c,4179255,te,0,tp,tp,Duel.GetCurrentChain())
Duel.RaiseEvent(c,4179255,e,0,tp,tp,Duel.GetCurrentChain())
end
end
\ No newline at end of file
......@@ -66,7 +66,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.efilter(e,te)
local tp=e:GetControler()
return te:GetOwnerPlayer()==1-tp
return te and te:GetOwnerPlayer()==1-tp
end
function cm.imlimit(e,c)
return c:IsFaceup() and c:IsSetCard(0xfa1)
......
......@@ -88,6 +88,6 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if #g>0 then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.SendtoHand(g,nil,REASON_EFFECT)
end
end
\ No newline at end of file
......@@ -3,16 +3,9 @@ local m=81032000
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.sprcon)
e0:SetOperation(cm.sprop)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
aux.AddSynchroMixProcedure(c,cm.matfilter,nil,nil,aux.NonTuner(nil),1,1,cm.syncheck)
--search
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
......@@ -34,33 +27,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.lvop)
c:RegisterEffect(e2)
end
function cm.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsCanBeSynchroMaterial()
function cm.matfilter(c)
return c:IsSynchroType(TYPE_TUNER) or (not c:IsSynchroType(TYPE_TUNER))
end
function cm.mnfilter(c,g)
return g:IsExists(cm.mnfilter2,1,c,c)
end
function cm.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==8
end
function cm.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(aux.NOT(Card.IsType),2,nil,TYPE_TUNER)
and g:IsExists(cm.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
return g:CheckSubGroup(cm.fselect,2,2,tp,c)
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:SelectSubGroup(tp,cm.fselect,false,2,2,tp,c)
e:GetHandler():SetMaterial(tg)
Duel.SendtoGrave(tg,REASON_MATERIAL+REASON_SYNCHRO)
function cm.syncheck(g)
return not g:IsExists(Card.IsSynchroType,1,nil,TYPE_TUNER)
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
......
......@@ -3,16 +3,9 @@ local m=81032006
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.sprcon)
e0:SetOperation(cm.sprop)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
aux.AddSynchroMixProcedure(c,cm.matfilter,nil,nil,aux.NonTuner(nil),1,1,cm.syncheck)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......@@ -36,33 +29,11 @@ function cm.initial_effect(c)
e2:SetOperation(cm.drop)
c:RegisterEffect(e2)
end
function cm.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsCanBeSynchroMaterial()
function cm.matfilter(c)
return c:IsSynchroType(TYPE_TUNER) or (not c:IsSynchroType(TYPE_TUNER))
end
function cm.mnfilter(c,g)
return g:IsExists(cm.mnfilter2,1,c,c)
end
function cm.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==4
end
function cm.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(aux.NOT(Card.IsType),2,nil,TYPE_TUNER)
and g:IsExists(cm.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
return g:CheckSubGroup(cm.fselect,2,2,tp,c)
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:SelectSubGroup(tp,cm.fselect,false,2,2,tp,c)
e:GetHandler():SetMaterial(tg)
Duel.SendtoGrave(tg,REASON_MATERIAL+REASON_SYNCHRO)
function cm.syncheck(g)
return not g:IsExists(Card.IsSynchroType,1,nil,TYPE_TUNER)
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
......
......@@ -3,16 +3,9 @@ local m=81032007
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.sprcon)
e0:SetOperation(cm.sprop)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
aux.AddSynchroMixProcedure(c,cm.matfilter,nil,nil,aux.NonTuner(tgrfilter),1,1,cm.syncheck)
--cannot be target/effect indestructable
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -51,33 +44,14 @@ function cm.initial_effect(c)
c:RegisterEffect(e4)
end
cm.material_type=TYPE_SYNCHRO
function cm.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsCanBeSynchroMaterial() and c:IsRace(RACE_REPTILE) and c:IsType(TYPE_SYNCHRO)
end
function cm.mnfilter(c,g)
return g:IsExists(cm.mnfilter2,1,c,c)
end
function cm.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==12
function cm.matfilter(c)
return c:IsSynchroType(TYPE_TUNER) or (c:IsRace(RACE_REPTILE) and c:IsType(TYPE_SYNCHRO) and not c:IsSynchroType(TYPE_TUNER))
end
function cm.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(aux.NOT(Card.IsType),2,nil,TYPE_TUNER)
and g:IsExists(cm.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
return g:CheckSubGroup(cm.fselect,2,2,tp,c)
function cm.tgrfilter(c)
return c:IsRace(RACE_REPTILE) and c:IsType(TYPE_SYNCHRO)
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:SelectSubGroup(tp,cm.fselect,false,2,2,tp,c)
e:GetHandler():SetMaterial(tg)
Duel.SendtoGrave(tg,REASON_MATERIAL+REASON_SYNCHRO)
function cm.syncheck(g)
return not g:IsExists(Card.IsSynchroType,1,nil,TYPE_TUNER)
end
function cm.cfilter(c)
return c:IsRace(RACE_REPTILE) and not c:IsType(TYPE_TUNER) and c:IsAbleToRemoveAsCost()
......
......@@ -3,16 +3,9 @@ local m=81032008
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.sprcon)
e0:SetOperation(cm.sprop)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
aux.AddSynchroMixProcedure(c,cm.matfilter,nil,nil,aux.NonTuner(tgrfilter),1,1,cm.syncheck)
--remove
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......@@ -36,33 +29,14 @@ function cm.initial_effect(c)
e3:SetOperation(cm.ddop)
c:RegisterEffect(e3)
end
function cm.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsCanBeSynchroMaterial() and c:IsRace(RACE_REPTILE)
end
function cm.mnfilter(c,g)
return g:IsExists(cm.mnfilter2,1,c,c)
end
function cm.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==8
function cm.matfilter(c)
return c:IsSynchroType(TYPE_TUNER) or (c:IsRace(RACE_REPTILE) and not c:IsSynchroType(TYPE_TUNER))
end
function cm.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(aux.NOT(Card.IsType),2,nil,TYPE_TUNER)
and g:IsExists(cm.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
return g:CheckSubGroup(cm.fselect,2,2,tp,c)
function cm.tgrfilter(c)
return c:IsRace(RACE_REPTILE)
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:SelectSubGroup(tp,cm.fselect,false,2,2,tp,c)
e:GetHandler():SetMaterial(tg)
Duel.SendtoGrave(tg,REASON_MATERIAL+REASON_SYNCHRO)
function cm.syncheck(g)
return not g:IsExists(Card.IsSynchroType,1,nil,TYPE_TUNER)
end
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and rp==1-tp and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
......
......@@ -3,16 +3,9 @@ local m=81032016
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--synchro summon
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.sprcon)
e0:SetOperation(cm.sprop)
e0:SetValue(SUMMON_TYPE_SYNCHRO)
c:RegisterEffect(e0)
aux.AddSynchroMixProcedure(c,cm.matfilter,nil,nil,aux.NonTuner(tgrfilter),1,1,cm.syncheck)
--negate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
......@@ -38,33 +31,14 @@ function cm.initial_effect(c)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
end
function cm.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsCanBeSynchroMaterial() and c:IsRace(RACE_REPTILE)
end
function cm.mnfilter(c,g)
return g:IsExists(cm.mnfilter2,1,c,c)
end
function cm.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==8
function cm.matfilter(c)
return c:IsSynchroType(TYPE_TUNER) or (c:IsRace(RACE_REPTILE) and not c:IsSynchroType(TYPE_TUNER))
end
function cm.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(aux.NOT(Card.IsType),2,nil,TYPE_TUNER)
and g:IsExists(cm.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function cm.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
return g:CheckSubGroup(cm.fselect,2,2,tp,c)
function cm.tgrfilter(c)
return c:IsRace(RACE_REPTILE)
end
function cm.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(cm.tgrfilter,tp,LOCATION_MZONE,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg=g:SelectSubGroup(tp,cm.fselect,false,2,2,tp,c)
e:GetHandler():SetMaterial(tg)
Duel.SendtoGrave(tg,REASON_MATERIAL+REASON_SYNCHRO)
function cm.syncheck(g)
return not g:IsExists(Card.IsSynchroType,1,nil,TYPE_TUNER)
end
function cm.cfilter(c)
return c:IsFaceup() and c:IsType(TYPE_TUNER)
......
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