Commit f639c653 authored by 2924713558's avatar 2924713558 Committed by GitHub

Add files via upload

parent 39a1997d
--斯忒诺
local m=17050901
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c37564765") end,function() require("script/c37564765") end)
function cm.initial_effect(c)
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
......@@ -9,8 +8,69 @@ function cm.initial_effect(c)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_EXTRA)
e0:SetCondition(cm.xyzcon)
e0:SetOperation(cm.xyzop)
e0:SetCondition(function(e,c,og,min,max)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler()
local ft=Duel.GetLocationCountFromEx(tp)
local ct=-ft
local nmb=Duel.GetFieldGroup(tp,LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE,0)
local minc=2
local maxc=99
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
if minc>maxc then return false end
end
return ct<minc and Duel.CheckXyzMaterial(c,cm.xyzfilter,7,minc,maxc,nmb)
end)
e0:SetTarget(function(e,tp,eg,ep,ev,re,r,rp,chk,c,og,min,max)
if og and not min then
return true
end
local nmb=Duel.GetFieldGroup(tp,LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE,0)
local minc=2
local maxc=99
if min then
if min>minc then minc=min end
if max<maxc then maxc=max end
end
local g=Duel.SelectXyzMaterial(tp,c,cm.xyzfilter,7,minc,maxc,nmb)
if g then
g:KeepAlive()
e:SetLabelObject(g)
return true
else return false end
end)
e0:SetOperation(function(e,tp,eg,ep,ev,re,r,rp,c,og,min,max)
if og and not min then
local sg=Group.CreateGroup()
local tc=og:GetFirst()
while tc do
local sg1=tc:GetOverlayGroup()
sg:Merge(sg1)
tc=og:GetNext()
end
Duel.SendtoGrave(sg,REASON_RULE)
c:SetMaterial(og)
Duel.Overlay(c,og)
Duel.ShuffleHand(tp)
else
local mg=e:GetLabelObject()
local sg=Group.CreateGroup()
local tc=mg:GetFirst()
while tc do
local sg1=tc:GetOverlayGroup()
sg:Merge(sg1)
tc=mg:GetNext()
end
Duel.SendtoGrave(sg,REASON_RULE)
c:SetMaterial(mg)
Duel.Overlay(c,mg)
Duel.ShuffleHand(tp)
mg:DeleteGroup()
end
end)
e0:SetValue(SUMMON_TYPE_XYZ)
c:RegisterEffect(e0)
--spsummon proc
......@@ -60,59 +120,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e6)
end
cm.pendulum_level=7
function cm.xyzfilter(c,xyzcard)
if c:IsLocation(LOCATION_ONFIELD+LOCATION_REMOVED) and c:IsFacedown() then return false end
return c:IsCanBeXyzMaterial(xyzcard) and c:IsXyzLevel(xyzcard,7)
end
function cm.xyzfilter1(c,xyzcard)
return c:IsXyzLevel(xyzcard,7) and c:IsRace(RACE_REPTILE) and c:IsCanBeXyzMaterial(xyzcard)
end
function cm.xyzcon(e,c,og,min,max)
if c==nil then return true end
if c:IsType(TYPE_PENDULUM) and c:IsFaceup() then return false end
local tp=c:GetControler()
local minc=2
local maxc=99
if min then
minc=math.max(minc,min)
maxc=math.min(maxc,max)
end
local mg=nil
local exg=nil
if og then
mg=og:Filter(cm.xyzfilter,nil,c)
else
mg=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_MZONE,0,nil,c)
exg=Duel.GetMatchingGroup(cm.xyzfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,c)
mg:Merge(exg)
end
return Senya.CheckGroup(mg,Senya.CheckFieldFilter,nil,minc,maxc,tp,c)
end
function cm.xyzop(e,tp,eg,ep,ev,re,r,rp,c,og,min,max)
local g=nil
if og and not min then
g=og
else
local mg=nil
local exg=nil
if og then
mg=og:Filter(cm.xyzfilter,nil,c)
else
mg=Duel.GetMatchingGroup(cm.xyzfilter,tp,LOCATION_MZONE,0,nil,c)
exg=Duel.GetMatchingGroup(cm.xyzfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,c)
mg:Merge(exg)
end
local minc=2
local maxc=99
if min then
minc=math.max(minc,min)
maxc=math.min(maxc,max)
end
g=Senya.SelectGroup(tp,HINTMSG_XMATERIAL,mg,Senya.CheckFieldFilter,nil,minc,maxc,tp,c)
end
c:SetMaterial(g)
Senya.OverlayGroup(c,g,false,true)
Duel.ShuffleHand(tp)
function cm.xyzfilter(c)
return (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE))
and (c:IsRace(RACE_REPTILE) or not c:IsLocation(LOCATION_HAND+LOCATION_GRAVE))
end
function cm.spfilter(c,ft)
return c:IsFaceup()
......
......@@ -59,11 +59,11 @@ function c26800001.descost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(g,REASON_COST)
end
function c26800001.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(nil,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
if chkc then return chkc:IsOnField() and chkc:IsAbleToRemove() and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
function c26800001.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
......
......@@ -25,7 +25,7 @@ function c26806000.initial_effect(c)
c:RegisterEffect(e4)
end
function c26806000.cfilter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON+RACE_PLANT) and c:IsType(TYPE_TUNER)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER)
end
function c26806000.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c26806000.cfilter,tp,LOCATION_MZONE,0,1,nil)
......
......@@ -31,7 +31,7 @@ function c26806003.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c26806003.spfilter(c,e,tp)
return c:IsSetCard(0x55) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsAttack(2200) and c:IsDefense(600) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c26806003.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -11,6 +11,7 @@ function c75646502.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,75646502)
e1:SetCondition(c18940556.condition)
e1:SetTarget(c75646502.target)
e1:SetOperation(c75646502.operation)
c:RegisterEffect(e1)
......@@ -20,7 +21,7 @@ function c75646502.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c75646502.condition)
e2:SetCondition(c75646502.con)
e2:SetValue(aux.imval1)
c:RegisterEffect(e2)
local e3=e2:Clone()
......@@ -28,6 +29,9 @@ function c75646502.initial_effect(c)
e3:SetValue(aux.tgoval)
c:RegisterEffect(e3)
end
function c75646502.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function c75646502.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,75646505,0,0x4011,2800,2800,8,RACE_CYBERSE,ATTRIBUTE_LIGHT) end
......@@ -50,6 +54,6 @@ function c75646502.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete()
end
end
function c75646502.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsType(TYPE_LINK) and Duel.IsExistingMatchingCard(Card.IsType(),tp,LOCATION_MZONE,0,1,nil,TYPE_TOKEN)
function c75646502.con(e)
return e:GetHandler():IsType(TYPE_LINK) and Duel.IsExistingMatchingCard(Card.IsType,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,TYPE_TOKEN)
end
\ No newline at end of file
......@@ -40,7 +40,7 @@ function c81012044.initial_effect(c)
c:RegisterEffect(e4)
end
function c81012044.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsSetCard,1,nil,0x10ec) end
if chk==0 then return Duel.CheckReleaseGroup(tp,Card.IsRace,1,nil,RACE_PYRO) end
local g=Duel.SelectReleaseGroup(tp,Card.IsRace,1,1,nil,RACE_PYRO)
Duel.Release(g,REASON_COST)
end
......
......@@ -20,6 +20,7 @@ function c81014039.initial_effect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,81014039)
e2:SetCondition(c81014039.spcon)
e2:SetCost(c81014039.spcost)
e2:SetTarget(c81014039.sptg)
e2:SetOperation(c81014039.spop)
......
......@@ -14,7 +14,7 @@ function c81040003.initial_effect(c)
--activate limit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_REMOVE)
e3:SetCountLimit(1,81040903)
e3:SetCondition(c81040003.aetcon)
......
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