Commit b0d6bf9a authored by Tachibana's avatar Tachibana

得得得得得

parent 568e59b8
No preview for this file type
--时间加速
xpcall(function() require("expansions/script/psionic") end,function() require("script/psionic") end)
function c72900005.initial_effect(c)
aux.AddCodeList(c,72900000)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION+CATEGORY_SUMMON+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c72900005.condition)
e1:SetTarget(c72900005.target)
e1:SetOperation(c72900005.skipop)
c:RegisterEffect(e1)
--Duel.AddCustomActivityCounter(72900014,ACTIVITY_SPSUMMON,c72900005.counterfilter)
end
function c72900005.counterfilter(c)
return c:IsLevelBelow(10)
end
function c72900005.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and Psionic.MainifestCheck(6,tp)
end
function c72900005.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local result1,result2=c72900005.pgroup(e,tp)
return Duel.GetFlagEffect(tp,72900005)==0 and
Duel.GetMatchingGroupCount(c72900005.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
+Duel.GetMatchingGroupCount(c72900005.sfilter,tp,LOCATION_HAND,0,nil)
+result1:GetCount()+result2:GetCount()>0
end
end
function c72900005.thfilter(c)
return aux.IsCodeListed(c,72900000) and c:IsAbleToHand() --and not c:IsType(TYPE_QUICKPLAY) and c:GetType()~=TYPE_TRAP
end
function c72900005.sfilter(c)
return c:IsSummonable(true,nil)
end
function c72900005.pgroup(e,tp,issecond)
local result1=Group.CreateGroup()
local result2=Group.CreateGroup()
local lpz=Duel.GetFieldCard(tp,LOCATION_PZONE,0)
local rpz=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
if lpz~=nil and rpz~=nil then
local lscale=lpz:GetLeftScale()
local rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_HAND end
if Duel.GetLocationCountFromEx(tp)>0 then loc=loc+LOCATION_EXTRA end
if loc==0 then return false end
local g=nil
if og then
g=og:Filter(Card.IsLocation,nil,loc)
else
g=Duel.GetFieldGroup(tp,loc,0)
end
g=g:Filter(c72900005.PConditionFilter,nil,e,tp,lscale,rscale)
if issecond then g=g:Filter(Card.IsLevelBelow,nil,10) end
result1=g
end
--共鳴する振動
lpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,0)
rpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,1)
if lpz~=nil and lpz:GetFlagEffect(31531170)>0 and rpz~=nil and rpz:GetFlagEffect(31531170)>0 then
local lscale=lpz:GetLeftScale()
local rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
local loc=0
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then loc=loc+LOCATION_HAND end
if Duel.GetLocationCountFromEx(tp)>0 then loc=loc+LOCATION_EXTRA end
if loc==0 then return false end
local g=nil
if og then
g=og:Filter(Card.IsLocation,nil,loc)
else
g=Duel.GetFieldGroup(tp,loc,0)
end
g=g:Filter(c72900005.PConditionFilter,nil,e,tp,lscale,rscale):Filter(Card.IsLocation,nil,LOCATION_EXTRA)
if issecond then g=g:Filter(Card.IsLevelBelow,nil,10) end
result2=g
end
return result1,result2
end
function c72900005.PConditionFilter(c,e,tp,lscale,rscale)
local lv=0
if c.pendulum_level then
lv=c.pendulum_level
else
lv=c:GetLevel()
end
local bool=Auxiliary.PendulumSummonableBool(c)
return (c:IsLocation(LOCATION_HAND) or (c:IsFaceup() and c:IsType(TYPE_PENDULUM)))
and lv>lscale and lv<rscale and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_PENDULUM,tp,bool,bool)
and not c:IsForbidden()
end
function c72900005.splimit(e,c,tp,sumtp,sumpos)
return not c:IsLevelBelow(10)
end
function c72900005.skipop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,72900005)~=0 then return end
Duel.RegisterFlagEffect(tp,72900005,0,0,0)
c72900005.singleitem(e,tp,eg,ep,ev,re,r,rp,0,0)
end
function c72900005.singleitem(e,tp,eg,ep,ev,re,r,rp,index,used)
local g1=Duel.GetMatchingGroup(c72900005.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
local g2,g3=c72900005.pgroup(e,tp)
local g4=Duel.GetMatchingGroup(c72900005.sfilter,tp,LOCATION_HAND,0,nil)
if index>=3 or used>=2 then return end
if used==1 then Duel.BreakEffect() end
if index==0 then
if g1:GetCount()>0 and (g2:GetCount()+g3:GetCount()+g4:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(72900005,0))) then
c72900005.activate0(e,tp,eg,ep,ev,re,r,rp,g1)
c72900005.singleitem(e,tp,eg,ep,ev,re,r,rp,1,used+1)
else
c72900005.singleitem(e,tp,eg,ep,ev,re,r,rp,1,used)
end
elseif index==1 then
if g2:GetCount()+g3:GetCount()>0 and (used==0 and g4:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(72900005,1))) then
c72900005.activate1(e,tp,eg,ep,ev,re,r,rp,g2,g3)
c72900005.singleitem(e,tp,eg,ep,ev,re,r,rp,2,used+1)
else
c72900005.singleitem(e,tp,eg,ep,ev,re,r,rp,2,used)
end
else
if g4:GetCount()>0 and (used==0 or Duel.SelectYesNo(tp,aux.Stringid(72900005,2))) then
c72900005.activate2(e,tp,eg,ep,ev,re,r,rp,g4)
end
end
end
function c72900005.activate0(e,tp,eg,ep,ev,re,r,rp,g1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=g1:Select(tp,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c72900005.activate2(e,tp,eg,ep,ev,re,r,rp,g4)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local tc=g4:Select(tp,1,1,nil):GetFirst()
if tc then
Duel.Summon(tp,tc,true,nil)
end
end
function c72900005.activate1(e,tp,eg,ep,ev,re,r,rp,g2,g3)
--共鳴する振動
local lpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,0)
local rpz=Duel.GetFieldCard(1-tp,LOCATION_PZONE,1)
local tg=nil
if g3:GetCount()>0 and (g2:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(72900005,3))) then
Duel.Hint(HINT_CARD,0,31531170)
tg=g3
else
lpz=Duel.GetFieldCard(tp,LOCATION_PZONE,0)
rpz=Duel.GetFieldCard(tp,LOCATION_PZONE,1)
tg=g2
end
local lscale=lpz:GetLeftScale()
local rscale=rpz:GetRightScale()
if lscale>rscale then lscale,rscale=rscale,lscale end
if og then
tg=og:Filter(Card.IsLocation,nil,LOCATION_EXTRA):Filter(c72900005.PConditionFilter,nil,e,tp,lscale,rscale)
end
local ce=nil
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=tg:Select(tp,1,1,nil)
Duel.HintSelection(Group.FromCards(lpz))
Duel.HintSelection(Group.FromCards(rpz))
Duel.SpecialSummon(g,SUMMON_TYPE_PENDULUM,tp,tp,false,false,POS_FACEUP)
end
\ No newline at end of file
......@@ -1143,14 +1143,13 @@
#少年S 137946714 714 0x710-0x71f
!setname 0x714 异梦
!setname 0x3714 异梦境
!setname 0x5714 异梦
!setname 0x7714 异梦境
!setname 0x5714 异梦
!setname 0x7714 异梦境
!setname 0xa714 幻异梦
!setname 0xb714 幻异梦境
!setname 0xc714 异梦像
!setname 0xd714 异梦像
!setname 0xd714 异梦像
!setname 0xe714 幻异梦像
!setname 0x717 黑白异梦
#飄上月球の不死煙 2338626051 724 0x720-0x72f
!setname 0x720 大庭院
......@@ -1172,7 +1171,8 @@
#729 1320119338 0x2f0-0x2ff
!setname 0x2f0 幻雪
!setname 0x2f1 显能者
!setname 0x2f1 显能
!setname 0x32f1 显能者
#▲樱彩 2543857838 732 global:nep
#named_with_nep 海王星
......
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