Commit 28dd4b28 authored by 聖園ミカ's avatar 聖園ミカ 🐟

1+1=3

parent 7b014ebc
......@@ -1277,6 +1277,7 @@ end
function Chikichikibanban.c4a71tohandthop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,Chikichikibanban.c4a71tohandthfilter,tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc:IsCode(12825601) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.SelectYesNo(tp,2) then
......@@ -1285,6 +1286,7 @@ function Chikichikibanban.c4a71tohandthop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
end
--铳影通用康型效果(代写)
......
This diff is collapsed.
if not require and dofile then function require(str) return dofile(str..".lua") end end
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
local m=53703015
local cm=_G["c"..m]
cm.name="布莱克星"
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetRange(LOCATION_DECK)
e2:SetCost(cm.cost)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_ACTIVATE_COST)
e3:SetRange(LOCATION_DECK)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,0)
e3:SetLabelObject(e2)
e3:SetTarget(cm.actarget)
e3:SetOperation(cm.costop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_FZONE)
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(0,1)
e4:SetTarget(cm.splimit)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_ACTIVATE)
e5:SetValue(cm.aclimit)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(m,0))
e6:SetCategory(CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_SPSUMMON_SUCCESS)
e6:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e6:SetRange(LOCATION_FZONE)
e6:SetCondition(cm.spcon)
e6:SetTarget(cm.sptg)
e6:SetOperation(cm.spop)
c:RegisterEffect(e6)
if not cm.global_check then
cm.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_GRAVE)
ge1:SetOperation(cm.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function cm.cfilter(c,tp,re)
return c:IsReason(REASON_EFFECT) and c:IsControler(1-tp) and re:GetHandler():IsLocation(LOCATION_PZONE)
end
function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(cm.cfilter,nil,tp,re)
g:ForEach(Card.RegisterFlagEffect,m,RESET_EVENT+RESETS_STANDARD,0,0)
end
function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLocation(LOCATION_GRAVE) and c:GetFlagEffect(m)>0
end
function cm.aclimit(e,re,tp)
local rc=re:GetHandler()
return rc:IsLocation(LOCATION_GRAVE) and rc:GetFlagEffect(m)>0
end
function cm.costfilter(c)
return c:IsFaceup() and c:IsCode(m-2) and c:IsAbleToHandAsCost()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_COST)
end
function cm.actarget(e,te,tp)
e:SetLabelObject(te)
return te:GetHandler()==e:GetHandler()
end
function cm.costop(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_FZONE,POS_FACEUP,false)
e:GetHandler():CreateEffectRelation(te)
local c=e:GetHandler()
local ev0=Duel.GetCurrentChain()+1
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return ev==ev0 end)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_CHAIN_NEGATED)
Duel.RegisterEffect(e2,tp)
end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if e:GetCode()==EVENT_CHAIN_SOLVED and rc:IsRelateToEffect(re) then
rc:SetStatus(STATUS_EFFECT_ENABLED,true)
end
if e:GetCode()==EVENT_CHAIN_NEGATED and rc:IsRelateToEffect(re) and not (rc:IsOnField() and rc:IsFacedown()) then
rc:SetStatus(STATUS_ACTIVATE_DISABLED,true)
end
end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
if eg:GetCount()~=1 then return false end
local tc=eg:GetFirst()
return tc:IsSummonPlayer(tp) and tc:GetPreviousLocation(LOCATION_PZONE)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToRemove() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,nil) end
Duel.SetTargetCard(eg)
e:SetLabelObject(eg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,1-tp,LOCATION_GRAVE)
end
function cm.spfilter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x3533) and c:IsType(TYPE_PENDULUM) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject():GetFirst()
local tg=Duel.GetTargetsRelateToChain()
if not tc or not tg:IsContains(tc) then return end
local lc=tg:GetFirst()
if lc==tc then lc=tg:GetNext() end
if Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_HAND) and lc and Duel.Remove(lc,POS_FACEUP,REASON_EFFECT) and lc:IsLocation(LOCATION_REMOVED) and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0 and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,cm.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
if not require and dofile then function require(str) return dofile(str..".lua") end end
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
local m=53705024
local cm=_G["c"..m]
cm.name="幻海袭杀魄散"
......
if not require and dofile then function require(str) return dofile(str..".lua") end end
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
local m=53727012
local cm=_G["c"..m]
cm.name="电脑深域N 解址死装"
......
if not require and dofile then function require(str) return dofile(str..".lua") end end
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
local m=53756006
local cm=_G["c"..m]
cm.name="指导教师 濑美奈"
......
if not require and dofile then function require(str) return dofile(str..".lua") end end
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
local m=53799156
local cm=_G["c"..m]
cm.name="五等分的魔理沙"
......
if not require and dofile then function require(str) return dofile(str..".lua") end end
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
local m=53799216
local cm=_G["c"..m]
cm.name="木毛的爱女 RI"
......@@ -46,8 +48,9 @@ function cm.initial_effect(c)
end
Duel.SpecialSummon(sc,0,sumplayer,sumplayer,false,false,POS_FACEUP)
end
cm[0](g,sumtype,sumplayer,...)
local fin=cm[0](g,sumtype,sumplayer,...)
fing:ForEach(Card.ResetFlagEffect,m)
return fin
end
cm[1]=Duel.SpecialSummonStep
Duel.SpecialSummonStep=function(targets,sumtype,sumplayer,...)
......@@ -63,10 +66,10 @@ function cm.initial_effect(c)
Duel.SpecialSummon(sc,0,sumplayer,sumplayer,false,false,POS_FACEUP)
tc=sc
end
cm[1](tc,sumtype,sumplayer,...)
return cm[1](tc,sumtype,sumplayer,...)
end
cm[2]=Duel.SynchroSummon
Duel.SynchroSummon=function(p,c,tuner)
Duel.SynchroSummon=function(p,c,tuner,...)
local sg=Duel.GetMatchingGroup(function(c)return c:IsHasEffect(m)end,p,LOCATION_PZONE,0,nil)
if #sg>0 and Duel.SelectYesNo(p,aux.Stringid(m,0)) then
Duel.Hint(HINT_CARD,0,m)
......@@ -76,6 +79,7 @@ function cm.initial_effect(c)
Duel.SendtoGrave(c,REASON_EFFECT)
Duel.SpecialSummon(sc,0,p,p,false,false,POS_FACEUP)
end
return cm[2](p,c,tuner,...)
end
cm[3]=Duel.XyzSummon
Duel.XyzSummon=function(p,c,...)
......@@ -88,6 +92,7 @@ function cm.initial_effect(c)
Duel.SendtoGrave(c,REASON_EFFECT)
Duel.SpecialSummon(sc,0,p,p,false,false,POS_FACEUP)
end
return cm[3](p,c,...)
end
cm[4]=Duel.LinkSummon
Duel.LinkSummon=function(p,c,...)
......@@ -100,6 +105,7 @@ function cm.initial_effect(c)
Duel.SendtoGrave(c,REASON_EFFECT)
Duel.SpecialSummon(sc,0,p,p,false,false,POS_FACEUP)
end
return cm[4](p,c,...)
end
end
end
......
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