Commit 8aa514cd authored by 聖園ミカ's avatar 聖園ミカ 🐟

7

parent 4fd24b56
No preview for this file type
...@@ -62,7 +62,7 @@ end ...@@ -62,7 +62,7 @@ end
function s.thfilter(c,e,tp) function s.thfilter(c,e,tp)
if not (c:IsSetCard(0x3210) and c:IsType(TYPE_MONSTER)) then return false end if not (c:IsSetCard(0x3210) and c:IsType(TYPE_MONSTER)) then return false end
local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
return c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,s.VirusSpSummonType(c))) return c:IsAbleToHand() or (ft>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,s.VirusSpSummonType(c),POS_FACEUP,1-tp))
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
...@@ -73,7 +73,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
if tc:IsAbleToHand() and (not tc:IsCanBeSpecialSummoned(e,0,tp,false,s.VirusSpSummonType(tc)) or ft<=0 or Duel.SelectOption(tp,1190,1152)==0) then if tc:IsAbleToHand() and (not tc:IsCanBeSpecialSummoned(e,0,tp,false,s.VirusSpSummonType(tc),POS_FACEUP,1-tp) or ft<=0 or Duel.SelectOption(tp,1190,1152)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
else else
......
--PAX-12-寄生虫型 ----PAX-12-寄生虫型
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--link summon --link summon
......
--乱击怪神 星斗锹甲 ----乱击怪神 星斗锹甲
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(s.sfilter),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(s.sfilter),1)
...@@ -69,7 +69,7 @@ function s.reop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -69,7 +69,7 @@ function s.reop(e,tp,eg,ep,ev,re,r,rp,c)
sc:CompleteProcedure() sc:CompleteProcedure()
end end
end end
--g:DeleteGroup() ----g:DeleteGroup()
end end
function s.syfilter(c) function s.syfilter(c)
return c:IsRace(RACE_INSECT) and c:IsLevel(12) and c:IsType(TYPE_SYNCHRO) return c:IsRace(RACE_INSECT) and c:IsLevel(12) and c:IsType(TYPE_SYNCHRO)
...@@ -79,8 +79,8 @@ function s.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,8 +79,8 @@ function s.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
--e:GetHandler():RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(84815190,3)) ----e:GetHandler():RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(84815190,3))
--Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) ----Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
local g = Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) local g = Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
......
--*塔尔塔罗斯 稀世之波塞冬 ----*塔尔塔罗斯 稀世之波塞冬
function c12856005.initial_effect(c) function c12856005.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
c:EnableCounterPermit(0xa7d) c:EnableCounterPermit(0xa7d)
......
...@@ -63,7 +63,7 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -63,7 +63,7 @@ function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(e:GetHandler(),REASON_COST) Duel.Release(e:GetHandler(),REASON_COST)
end end
function s.spfilter(c,e,tp) function s.spfilter(c,e,tp)
return not c:IsSummonableCard() and c:IsRace(RACE_FIEND) return not c:IsSummonableCard() and c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler())>0 if chk==0 then return Duel.GetMZoneCount(tp,e:GetHandler())>0
......
--究极骑士秘技 回旋华舞 ----究极骑士秘技 回旋华舞
function c16349057.initial_effect(c) function c16349057.initial_effect(c)
c:SetUniqueOnField(1,0,16349057) c:SetUniqueOnField(1,0,16349057)
--Activate --Activate
......
--火世界锚 真实界 ----火世界锚 真实界
local m=22600022 local m=22600022
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
......
-- ----
local m=30015115 local m=30015115
local cm=_G["c"..m] local cm=_G["c"..m]
if not overuins then dofile("expansions/script/c30015500.lua") end if not overuins then dofile("expansions/script/c30015500.lua") end
function cm.initial_effect(c) function cm.initial_effect(c)
--summonproc or overuins ----summonproc or overuins
local e0=ors.summonproc(c,7,4,2) local e0=ors.summonproc(c,7,4,2)
--Effect 1 ----Effect 1
local e1=ors.atkordef(c,100,3000) local e1=ors.atkordef(c,100,3000)
--Effect 2 ----Effect 2
local e31=Effect.CreateEffect(c) local e31=Effect.CreateEffect(c)
e31:SetDescription(aux.Stringid(m,0)) e31:SetDescription(aux.Stringid(m,0))
e31:SetCategory(CATEGORY_SUMMON) e31:SetCategory(CATEGORY_SUMMON)
...@@ -20,13 +20,13 @@ function cm.initial_effect(c) ...@@ -20,13 +20,13 @@ function cm.initial_effect(c)
e31:SetTarget(cm.stg) e31:SetTarget(cm.stg)
e31:SetOperation(cm.sop) e31:SetOperation(cm.sop)
c:RegisterEffect(e31) c:RegisterEffect(e31)
--Effect 3 ----Effect 3
local e7=ors.monsterle(c) local e7=ors.monsterle(c)
--all ----all
local e9=ors.alldrawflag(c) local e9=ors.alldrawflag(c)
end end
c30015115.isoveruins=true c30015115.isoveruins=true
--Effect 2 ----Effect 2
function cm.ntcon(e,c,minc) function cm.ntcon(e,c,minc)
if c==nil then return true end if c==nil then return true end
return minc==0 and c:IsLevelAbove(5) and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 return minc==0 and c:IsLevelAbove(5) and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
...@@ -67,11 +67,11 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,11 +67,11 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(SUMMON_TYPE_ADVANCE) e1:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--- -----
local rt=0 local rt=0
if bit.band(r,REASON_BATTLE)~=0 then rt=1 end if bit.band(r,REASON_BATTLE)~=0 then rt=1 end
if bit.band(r,REASON_EFFECT)~=0 then rt=2 end if bit.band(r,REASON_EFFECT)~=0 then rt=2 end
--limit ----limit
local e01=Effect.CreateEffect(c) local e01=Effect.CreateEffect(c)
e01:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e01:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e01:SetCode(EVENT_SUMMON_SUCCESS) e01:SetCode(EVENT_SUMMON_SUCCESS)
...@@ -79,7 +79,7 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,7 +79,7 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp)
e01:SetOperation(cm.limitop) e01:SetOperation(cm.limitop)
e01:SetLabel(rt,ev) e01:SetLabel(rt,ev)
Duel.RegisterEffect(e01,tp) Duel.RegisterEffect(e01,tp)
--reset when negated ----reset when negated
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SUMMON_NEGATED) e2:SetCode(EVENT_SUMMON_NEGATED)
...@@ -89,7 +89,7 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,7 +89,7 @@ function cm.sop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
Duel.Summon(tp,c,true,nil) Duel.Summon(tp,c,true,nil)
end end
---- --------
function cm.limitop(e,tp,eg,ep,ev,re,r,rp) function cm.limitop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=eg:GetFirst() local tc=eg:GetFirst()
......
...@@ -48,7 +48,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -48,7 +48,7 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g1 =Duel.SelectTarget(tp,s.tdlfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g1 =Duel.SelectTarget(tp,s.tdlfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g2 =Duel.SelectTarget(tp,s.tdtfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g2 =Duel.SelectTarget(tp,s.tdtfilter,tp,LOCATION_GRAVE,0,1,2,nil)
g1:Merge(g2) g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,#g1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g1,#g1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
......
...@@ -48,12 +48,13 @@ function c50223125.initial_effect(c) ...@@ -48,12 +48,13 @@ function c50223125.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--cannot remove --cannot remove
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_CANNOT_REMOVE) e4:SetCode(EFFECT_CANNOT_REMOVE)
e4:SetValue(1) e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,1)
e4:SetCondition(c50223125.con4) e4:SetCondition(c50223125.con4)
e4:SetTarget(c50223125.tg4)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c50223125.ffilter1(c) function c50223125.ffilter1(c)
...@@ -122,4 +123,8 @@ function c50223125.con4(e,tp,eg,ep,ev,re,r,rp) ...@@ -122,4 +123,8 @@ function c50223125.con4(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mg=c:GetMaterial() local mg=c:GetMaterial()
return mg:IsExists(c50223125.valfilter4,1,nil) return mg:IsExists(c50223125.valfilter4,1,nil)
end
function c50223125.tg4(e,c,rp,r,re)
local tp=e:GetHandlerPlayer()
return r&REASON_EFFECT~=0 and re:GetOwnerPlayer()~=tp and c==e:GetHandler()
end end
\ No newline at end of file
...@@ -17,13 +17,14 @@ function c50223230.initial_effect(c) ...@@ -17,13 +17,14 @@ function c50223230.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--3 --3
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_REMOVE) e3:SetCode(EFFECT_CANNOT_REMOVE)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(1,1) e3:SetTargetRange(1,1)
e3:SetLabel(3) e3:SetLabel(3)
e3:SetCondition(c50223230.condition) e3:SetCondition(c50223230.condition)
e3:SetTarget(c50223230.tg3)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--4 --4
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -83,6 +84,10 @@ function c50223230.atkval(e) ...@@ -83,6 +84,10 @@ function c50223230.atkval(e)
local mlc=Duel.GetMatchingGroupCount(c50223230.mlfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil) local mlc=Duel.GetMatchingGroupCount(c50223230.mlfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)
return mlc*100 return mlc*100
end end
function c50223230.tg3(e,c,rp,r,re)
local tp=e:GetHandlerPlayer()
return r&REASON_EFFECT~=0 and re:GetOwnerPlayer()~=tp and c==e:GetHandler()
end
function c50223230.tg4(e,c,rp,r,re) function c50223230.tg4(e,c,rp,r,re)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return c:IsSetCard(0xcb7) and c:GetMutualLinkedGroupCount()>0 return c:IsSetCard(0xcb7) and c:GetMutualLinkedGroupCount()>0
......
--极简塔防 水晶矿 ----极简塔防 水晶矿
function c65850100.initial_effect(c) function c65850100.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddLinkProcedure(c,c65850100.matfilter,2,3) aux.AddLinkProcedure(c,c65850100.matfilter,2,3)
......
--断罪之矢 琉森 ----断罪之矢 琉森
function c75600027.initial_effect(c) function c75600027.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--search ----search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
...@@ -10,7 +10,7 @@ function c75600027.initial_effect(c) ...@@ -10,7 +10,7 @@ function c75600027.initial_effect(c)
e1:SetTarget(c75600027.thtg) e1:SetTarget(c75600027.thtg)
e1:SetOperation(c75600027.thop) e1:SetOperation(c75600027.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Recover or draw ----Recover or draw
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(75600027,1)) e2:SetDescription(aux.Stringid(75600027,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
...@@ -32,7 +32,7 @@ function c75600027.initial_effect(c) ...@@ -32,7 +32,7 @@ function c75600027.initial_effect(c)
e3:SetCost(c75600027.cost) e3:SetCost(c75600027.cost)
e3:SetTarget(c75600027.eftg) e3:SetTarget(c75600027.eftg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--atkup ----atkup
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
......
--心械绚烂之地 ----心械绚烂之地
function c75600167.initial_effect(c) function c75600167.initial_effect(c)
--Activate ----Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
...@@ -9,7 +9,7 @@ function c75600167.initial_effect(c) ...@@ -9,7 +9,7 @@ function c75600167.initial_effect(c)
e1:SetTarget(c75600167.target) e1:SetTarget(c75600167.target)
e1:SetOperation(c75600167.activate) e1:SetOperation(c75600167.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--act limit ----act limit
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAINING)
......
--心械之地 公主 ----心械之地 公主
function c75600170.initial_effect(c) function c75600170.initial_effect(c)
c:SetSPSummonOnce(75600170) c:SetSPSummonOnce(75600170)
--synchro summon ----synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x92c4),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x92c4),aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
--to grave ----to grave
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75600170,0)) e1:SetDescription(aux.Stringid(75600170,0))
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOGRAVE)
...@@ -15,7 +15,7 @@ function c75600170.initial_effect(c) ...@@ -15,7 +15,7 @@ function c75600170.initial_effect(c)
e1:SetTarget(c75600170.tgtg) e1:SetTarget(c75600170.tgtg)
e1:SetOperation(c75600170.tgop) e1:SetOperation(c75600170.tgop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- ----
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(75600170,1)) e2:SetDescription(aux.Stringid(75600170,1))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
...@@ -27,7 +27,7 @@ function c75600170.initial_effect(c) ...@@ -27,7 +27,7 @@ function c75600170.initial_effect(c)
e2:SetTarget(c75600170.thtg) e2:SetTarget(c75600170.thtg)
e2:SetOperation(c75600170.thop) e2:SetOperation(c75600170.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy replace ----destroy replace
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_DESTROY_REPLACE) e3:SetCode(EFFECT_DESTROY_REPLACE)
......
--心械之地的归返 ----心械之地的归返
function c75600172.initial_effect(c) function c75600172.initial_effect(c)
--Activate ----Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75600172,0)) e1:SetDescription(aux.Stringid(75600172,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_RECOVER) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_RECOVER)
...@@ -12,7 +12,7 @@ function c75600172.initial_effect(c) ...@@ -12,7 +12,7 @@ function c75600172.initial_effect(c)
e1:SetTarget(c75600172.target) e1:SetTarget(c75600172.target)
e1:SetOperation(c75600172.activate) e1:SetOperation(c75600172.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon ----spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(9212051,2)) e3:SetDescription(aux.Stringid(9212051,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
--心械之地 心械之塔 ----心械之地 心械之塔
function c75600176.initial_effect(c) function c75600176.initial_effect(c)
c75600176.dfc_front_side=75600176 c75600176.dfc_front_side=75600176
c75600176.dfc_back_side=75600177 c75600176.dfc_back_side=75600177
--Activate ----Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Destroy ----Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75600176,0)) e1:SetDescription(aux.Stringid(75600176,0))
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
......
--心械之地 梦境返还之针 ----心械之地 梦境返还之针
function c75600177.initial_effect(c) function c75600177.initial_effect(c)
c:EnableCounterPermit(0x4) c:EnableCounterPermit(0x4)
c75600177.dfc_front_side=75600176 c75600177.dfc_front_side=75600176
...@@ -7,14 +7,14 @@ function c75600177.initial_effect(c) ...@@ -7,14 +7,14 @@ function c75600177.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--counter ----counter
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PAY_LPCOST) e1:SetCode(EVENT_PAY_LPCOST)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetOperation(c75600177.ctop) e1:SetOperation(c75600177.ctop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- ----
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(75600177,0)) e2:SetDescription(aux.Stringid(75600177,0))
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
...@@ -27,7 +27,7 @@ function c75600177.initial_effect(c) ...@@ -27,7 +27,7 @@ function c75600177.initial_effect(c)
e2:SetTarget(c75600177.tg) e2:SetTarget(c75600177.tg)
e2:SetOperation(c75600177.op) e2:SetOperation(c75600177.op)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--back ----back
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_ADJUST) e0:SetCode(EVENT_ADJUST)
......
...@@ -18,9 +18,8 @@ function cm.initial_effect(c) ...@@ -18,9 +18,8 @@ function cm.initial_effect(c)
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,m+100) e2:SetCountLimit(1,m+100)
e2:SetCondition(cm.spcon)
e2:SetTarget(cm.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -52,10 +51,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,10 +51,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,SUMMON_VALUE_SELF,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,SUMMON_VALUE_SELF,tp,tp,true,false,POS_FACEUP)
end end
--tohand --tohand
function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP)
end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsAbleToHand() and c:IsSetCard(0x3596) and c:IsType(TYPE_MONSTER) return c:IsAbleToHand() and c:IsSetCard(0x3596) and c:IsType(TYPE_MONSTER)
end end
...@@ -78,9 +73,9 @@ function cm.rmfilter(c) ...@@ -78,9 +73,9 @@ function cm.rmfilter(c)
end end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp) function cm.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then if Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_REMOVE) Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_REMOVE)
local rg=Duel.GetMatchingGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD):Select(tp,1,1,nil) local rg=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD):Select(tp,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT) Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end end
end end
......
...@@ -58,7 +58,7 @@ function cm.repfilter(c) ...@@ -58,7 +58,7 @@ function cm.repfilter(c)
return c:IsSetCard(0x5596) and c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS) return c:IsSetCard(0x5596) and c:IsType(TYPE_TRAP) and c:IsType(TYPE_CONTINUOUS)
end end
function cm.repcon(e,tp,eg,ep,ev,re,r,rp) function cm.repcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.repfilter,tp,LOCATION_GRAVE,0,1,1,nil)
end end
function cm.repop(e,tp,eg,ep,ev,re,r,rp) function cm.repop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -66,11 +66,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,11 +66,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=thg:Select(tp,1,1,nil) local sg=thg:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT) Duel.SendtoHand(sg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
elseif ct==2 then
local spg=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_DECK,0,nil,e,tp)
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_SPSUMMON)
local sg=spg:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
elseif a and not b and not d then elseif a and not b and not d then
local stg=Duel.GetMatchingGroup(cm.stfilter,tp,LOCATION_DECK,0,nil) local stg=Duel.GetMatchingGroup(cm.stfilter,tp,LOCATION_DECK,0,nil)
...@@ -105,11 +100,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,11 +100,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=thg:Select(tp,1,1,nil) local sg=thg:Select(tp,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT) Duel.SendtoHand(sg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
elseif ct==1 then
local spg=Duel.GetMatchingGroup(cm.thfilter,tp,LOCATION_DECK,0,nil,e,tp)
Duel.Hint(HINTMSG_SELECT,tp,HINTMSG_SPSUMMON)
local sg=spg:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
end end
...@@ -145,14 +135,10 @@ function cm.costfilter2(c,code) ...@@ -145,14 +135,10 @@ function cm.costfilter2(c,code)
return c:IsSetCard(0x596) and (c:IsAbleToHand() or c:IsSSetable()) and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(code) return c:IsSetCard(0x596) and (c:IsAbleToHand() or c:IsSSetable()) and c:IsType(TYPE_SPELL+TYPE_TRAP) and not c:IsCode(code)
end end
function cm.stcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.stcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return true end if chk==0 then return true end
end end
function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,nil) end
local tc=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,nil):GetFirst()
e:SetLabelObject(tc) e:SetLabelObject(tc)
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
......
...@@ -58,9 +58,13 @@ function cm.actop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,9 +58,13 @@ function cm.actop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.atktg)
e1:SetValue(1000) e1:SetValue(1000)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function cm.atktg(c)
return c:IsSetCard(0x3596)
end
--SearchCard --SearchCard
function cm.thfilter1(c) function cm.thfilter1(c)
return c:IsSetCard(0x3596) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave() return c:IsSetCard(0x3596) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
......
...@@ -37,8 +37,8 @@ function cm.initial_effect(c) ...@@ -37,8 +37,8 @@ function cm.initial_effect(c)
e4:SetProperty(EFFECT_FLAG_DELAY) e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_TO_GRAVE) e4:SetCode(EVENT_TO_GRAVE)
e4:SetCountLimit(1,m) e4:SetCountLimit(1,m)
e4:SetTarget(cm.tgtg) e4:SetTarget(cm.tgtg2)
e4:SetOperation(cm.tgop) e4:SetOperation(cm.tgop2)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=e4:Clone() local e5=e4:Clone()
e5:SetCode(EVENT_REMOVE) e5:SetCode(EVENT_REMOVE)
...@@ -104,10 +104,10 @@ end ...@@ -104,10 +104,10 @@ end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsSetCard(0x596) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x596) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tgtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp) function cm.tgop2(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
......
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