Commit 059d777c authored by Tachibana's avatar Tachibana

1145141919810

parent 20ca999a
Pipeline #14759 passed with stages
in 34 minutes and 19 seconds
No preview for this file type
......@@ -37,6 +37,7 @@ function cm.initial_effect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetCondition(cm.thcon)
e3:SetCost(cm.thcost)
......
--异夕光物 雀鱿章
local m=51300002
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,1)
......
--异夕光物 戴菊座头鲸
local m=51300011
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,1)
......
--异夕光物 鸵鸟蟹
local m=51300021
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,1)
......
--异夕光物 鹰恐鱼
local m=51300031
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,2)
......@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetTarget(cm.atktg)
e2:SetOperation(cm.atkop)
......
--光衍生物
yixi=yixi or {}
--SpecialSummon self
function yixi.spself(c,m,count)
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetLabel(count)
e2:SetCondition(yixi.spcon)
e2:SetOperation(yixi.spop)
c:RegisterEffect(e2)
return e1,e2
end
function yixi.spfilter(c)
return c:IsSetCard(0xa01) and c:IsType(TYPE_MONSTER) and c:IsReleasable() and not c:IsCode(51300051)
end
function yixi.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local ct=e:GetLabel()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(yixi.spfilter,tp,LOCATION_HAND,0,ct,c)
end
function yixi.spop(e,tp,eg,ep,ev,re,r,rp,c)
local ct=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,yixi.spfilter,tp,LOCATION_HAND,0,ct,ct,c)
Duel.Release(g,REASON_COST)
end
--when Release
function yixi.released(c,m)
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_RELEASE)
return e1
end
\ No newline at end of file
--异夕光物 鹦鹉螺
local m=51300041
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,2)
......
--异夕光物 孔雀狮子鱼
local m=51300051
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,2)
......
--异夕光物 鹏海星
local m=51300071
local cm=_G["c"..m]
xpcall(function() require("expansions/script/c10000100") end,function() require("script/c10000100") end)
xpcall(function() require("expansions/script/c51300039") end,function() require("script/c51300039") end)
function cm.initial_effect(c)
--cannot special summon
local e1,e2=yixi.spself(c,m,1)
......
......@@ -10,6 +10,13 @@ function cm.initial_effect(c)
--dialog
local e0=public.dialog(c,m,9,12)
e0:SetCondition(cm.condition)
--spsummon condition
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e10:SetCode(EFFECT_SPSUMMON_CONDITION)
e10:SetValue(cm.splimit)
c:RegisterEffect(e10)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
......@@ -62,6 +69,11 @@ function cm.initial_effect(c)
e6:SetValue(cm.repval)
c:RegisterEffect(e6)
end
--splimit
function cm.splimit(e,se,sp,st)
return bit.band(st,SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
end
--fusion material
function cm.ffilter(c,fc,sub,mg,sg)
local p=c:IsFusionType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ) and c:IsFusionSetCard(0xa01)
if not sg then
......
--小崎甜花
local m=81011100
local cm=_G["c"..m]
function c81011100.initial_effect(c)
function cm.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
c:EnableReviveLimit()
......@@ -12,10 +12,10 @@ function c81011100.initial_effect(c)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetRange(LOCATION_PZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCountLimit(1,81011100)
e1:SetCondition(c81011100.drcon)
e1:SetTarget(c81011100.drtg)
e1:SetOperation(c81011100.drop)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.drcon)
e1:SetTarget(cm.drtg)
e1:SetOperation(cm.drop)
c:RegisterEffect(e1)
--immune
local e2=Effect.CreateEffect(c)
......@@ -23,85 +23,85 @@ function c81011100.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(c81011100.efilter)
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
--indes
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetValue(c81011100.indval)
e3:SetValue(cm.indval)
c:RegisterEffect(e3)
--Activate
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,81011190)
e4:SetTarget(c81011100.target)
e4:SetOperation(c81011100.activate)
e4:SetCountLimit(1,m+90)
e4:SetTarget(cm.target)
e4:SetOperation(cm.activate)
c:RegisterEffect(e4)
--pendulum
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_DESTROYED)
e6:SetProperty(EFFECT_FLAG_DELAY)
e6:SetCondition(c81011100.pencon)
e6:SetTarget(c81011100.pentg)
e6:SetOperation(c81011100.penop)
e6:SetCondition(cm.pencon)
e6:SetTarget(cm.pentg)
e6:SetOperation(cm.penop)
c:RegisterEffect(e6)
end
function c81011100.drcon(e,tp,eg,ep,ev,re,r,rp)
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local d=Duel.GetAttackTarget()
return (a:IsControler(tp) and a:IsType(TYPE_RITUAL) and a:IsType(TYPE_PENDULUM)) or (d and d:IsControler(tp) and d:IsFaceup() and d:IsType(TYPE_RITUAL) and d:IsType(TYPE_PENDULUM))
end
function c81011100.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c81011100.drop(e,tp,eg,ep,ev,re,r,rp)
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
function c81011100.efilter(e,te)
function cm.efilter(e,te)
return te:IsActiveType(TYPE_MONSTER) and not (te:GetOwner():IsType(TYPE_RITUAL) and te:GetOwner():IsType(TYPE_PENDULUM))
end
function c81011100.indval(e,c)
function cm.indval(e,c)
return not (c:IsType(TYPE_RITUAL) and c:IsType(TYPE_PENDULUM))
end
function c81011100.filter(c,e,tp,m,ft)
function cm.filter(c,e,tp,m,ft)
if bit.band(c:GetOriginalType(),0x81)~=0x81
or not c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true) then return false end
local mg=m:Filter(Card.IsCanBeRitualMaterial,c,c)
if ft>0 then
return mg:CheckWithSumGreater(Card.GetRitualLevel,c:GetLevel(),c)
else
return mg:IsExists(c81011100.filterF,1,nil,tp,mg,c)
return mg:IsExists(cm.filterF,1,nil,tp,mg,c)
end
end
function c81011100.filterF(c,tp,mg,rc)
function cm.filterF(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c)
return mg:CheckWithSumGreater(Card.GetRitualLevel,rc:GetLevel(),rc)
else return false end
end
function c81011100.target(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.IsExistingMatchingCard(c81011100.filter,tp,LOCATION_PZONE,0,1,nil,e,tp,mg,ft)
return ft>-1 and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_PZONE,0,1,nil,e,tp,mg,ft)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_PZONE)
end
function c81011100.activate(e,tp,eg,ep,ev,re,r,rp)
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local mg=Duel.GetRitualMaterial(tp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c81011100.filter,tp,LOCATION_PZONE,0,1,1,nil,e,tp,mg,ft)
local tg=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_PZONE,0,1,1,nil,e,tp,mg,ft)
local tc=tg:GetFirst()
if tc then
mg=mg:Filter(Card.IsCanBeRitualMaterial,tc,tc)
......@@ -111,7 +111,7 @@ function c81011100.activate(e,tp,eg,ep,ev,re,r,rp)
mat=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
mat=mg:FilterSelect(tp,c81011100.filterF,1,1,nil,tp,mg,tc)
mat=mg:FilterSelect(tp,cm.filterF,1,1,nil,tp,mg,tc)
Duel.SetSelectedCard(mat)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat2=mg:SelectWithSumGreater(tp,Card.GetRitualLevel,tc:GetLevel(),tc)
......@@ -134,14 +134,14 @@ function c81011100.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function c81011100.pencon(e,tp,eg,ep,ev,re,r,rp)
function cm.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsFaceup()
end
function c81011100.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
function cm.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function c81011100.penop(e,tp,eg,ep,ev,re,r,rp)
function cm.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
......
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