Commit 7522a370 authored by 聖園ミカ's avatar 聖園ミカ 🐟

duiduiduiduidui

parent 30ee3f3b
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(cm.hspcon)
e2:SetTarget(cm.hsptg)
e2:SetOperation(cm.hspop)
c:RegisterEffect(e2)
--special summon
......@@ -53,17 +54,27 @@ function cm.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA) or aux.fuslimit(e,se,sp,st)
end
function cm.hspfilter(c,tp,sc)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c) and Duel.CheckLPCost(c:GetControler(),1000)
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c)
and Duel.CheckLPCost(c:GetControler(),1000)
end
function cm.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON):Filter(cm.hspfilter,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,2,2)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroupEx(tp,cm.hspfilter,2,2,REASON_SPSUMMON,false,nil,tp,c)
c:SetMaterial(g)
Duel.Release(g,REASON_SPSUMMON)
local tc=e:GetLabelObject()
c:SetMaterial(Group.FromCards(tc))
Duel.Release(tc,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
end
function cm.cfilter(c,tp)
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(cm.hspcon)
e2:SetTarget(cm.hsptg)
e2:SetOperation(cm.hspop)
c:RegisterEffect(e2)
--spsummon
......@@ -53,18 +54,28 @@ function cm.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA) or aux.fuslimit(e,se,sp,st)
end
function cm.hspfilter(c,tp,sc)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c) and Duel.CheckLPCost(c:GetControler(),1000)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c)
and Duel.CheckLPCost(c:GetControler(),1000)
end
function cm.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON):Filter(cm.hspfilter,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,2,2)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroupEx(tp,cm.hspfilter,2,2,REASON_SPSUMMON,false,nil,tp,c)
c:SetMaterial(g)
Duel.Release(g,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
local tc=e:GetLabelObject()
c:SetMaterial(Group.FromCards(tc))
Duel.Release(tc,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
end
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(cm.hspcon)
e2:SetTarget(cm.hsptg)
e2:SetOperation(cm.hspop)
c:RegisterEffect(e2)
--special summon
......@@ -54,18 +55,28 @@ function cm.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA) or aux.fuslimit(e,se,sp,st)
end
function cm.hspfilter(c,tp,sc)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c) and Duel.CheckLPCost(c:GetControler(),1000)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c)
and Duel.CheckLPCost(c:GetControler(),1000)
end
function cm.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON):Filter(cm.hspfilter,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,2,2)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroupEx(tp,cm.hspfilter,2,2,REASON_SPSUMMON,false,nil,tp,c)
c:SetMaterial(g)
Duel.Release(g,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
local tc=e:GetLabelObject()
c:SetMaterial(Group.FromCards(tc))
Duel.Release(tc,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
end
function cm.drcfilter(c,tp)
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousControler(1-tp) and c:IsReason(REASON_BATTLE+REASON_EFFECT)
......
......@@ -20,6 +20,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(cm.hspcon)
e2:SetTarget(cm.hsptg)
e2:SetOperation(cm.hspop)
c:RegisterEffect(e2)
--to deck
......@@ -54,18 +55,28 @@ function cm.splimit(e,se,sp,st)
return not e:GetHandler():IsLocation(LOCATION_EXTRA) or aux.fuslimit(e,se,sp,st)
end
function cm.hspfilter(c,tp,sc)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO)
and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_PSYCHO) and c:IsControler(tp) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0
and c:IsCanBeFusionMaterial(sc,SUMMON_TYPE_SPECIAL)
end
function cm.hspcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c) and Duel.CheckLPCost(c:GetControler(),1000)
if c==nil then return true end
return Duel.CheckReleaseGroupEx(c:GetControler(),cm.hspfilter,2,REASON_SPSUMMON,false,nil,c:GetControler(),c)
and Duel.CheckLPCost(c:GetControler(),1000)
end
function cm.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetReleaseGroup(tp,false,REASON_SPSUMMON):Filter(cm.hspfilter,nil,tp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local tc=g:SelectUnselect(nil,tp,false,true,2,2)
if tc then
e:SetLabelObject(tc)
return true
else return false end
end
function cm.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroupEx(tp,cm.hspfilter,2,2,REASON_SPSUMMON,false,nil,tp,c)
c:SetMaterial(g)
Duel.Release(g,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
local tc=e:GetLabelObject()
c:SetMaterial(Group.FromCards(tc))
Duel.Release(tc,REASON_SPSUMMON)
Duel.PayLPCost(tp,1000)
end
function cm.drcfilter(c,tp)
return c:IsPreviousLocation(LOCATION_DECK+LOCATION_HAND+LOCATION_EXTRA) and c:IsPreviousControler(1-tp)
......
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