Commit 2c450db7 authored by Nemo Ma's avatar Nemo Ma

Sync

Currently at 508 cards
parent 67ea0b53
No preview for this file type
......@@ -94,7 +94,7 @@ function c33700388.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(g,REASON_EFFECT)
end
function c33700388.con4(e)
return e:GetLabel()>=8000
return e:GetLabel()>=16000
end
function c33700388.con3(e)
return e:GetLabel()>=5000
......
......@@ -44,5 +44,5 @@ function c33700402.skipcon(e)
return Duel.GetTurnPlayer()~=e:GetHandlerPlayer()
end
function c33700402.handcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_ONFIELD+LOCATION_HAND,0)<=Duel.GetFieldGroupCount(e:GetHandlerPlayer(),0,LOCATION_ONFIELD)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_ONFIELD+LOCATION_HAND,0)<Duel.GetFieldGroupCount(e:GetHandlerPlayer(),0,LOCATION_ONFIELD)
end
\ No newline at end of file
......@@ -18,7 +18,7 @@ function cm.con(e,c)
return Duel.GetLocationCountFromEx(p,p,rc)>0 and rc:IsSetCard(0x442)
end
local g=Duel.GetMatchingGroup(f,tp,LOCATION_GRAVE,0,nil)
return g:GetClassCount(Card.GetCode)>=5 and Duel.CheckReleaseGroup(tp,f2,1,nil,tp)
return g:GetClassCount(Card.GetCode)>=9 and Duel.CheckReleaseGroup(tp,f2,1,nil,tp)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,c)
local f=function(rc,p)
......
......@@ -28,7 +28,7 @@ function cm.con(e,c)
return Duel.GetLocationCountFromEx(p,p,rc)>0 and rc:IsSetCard(0x442)
end
local g=Duel.GetMatchingGroup(f,tp,LOCATION_GRAVE,0,nil)
return g:GetClassCount(Card.GetCode)>=5 and Duel.CheckReleaseGroup(tp,f2,1,nil,tp)
return g:GetClassCount(Card.GetCode)>=15 and Duel.CheckReleaseGroup(tp,f2,1,nil,tp)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp,c)
local f=function(rc,p)
......
......@@ -197,6 +197,17 @@ function rsss.acop(e,tp,eg,ep,ev,re,r,rp)
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain())
end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetTarget(rsss.splimit)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function rsss.splimit(e,c)
return not c:IsSetCard(0x144d)
end
function rsss.CounterFunction(c)
c:EnableCounterPermit(0x1a)
......
......@@ -38,18 +38,26 @@ function cm.fun(rc)
return e1
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLP(tp)>=1000 end
Duel.Damage(tp,1000,REASON_COST)
if chk==0 then return Duel.GetLP(tp)>=1200 end
Duel.Damage(tp,1200,REASON_COST)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(1000)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000)
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,1-tp,3)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
Duel.DiscardDeck(1-tp,3,REASON_EFFECT)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetTarget(cm.splimit)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function cm.splimit(e,c)
return not c:IsSetCard(0x144d)
end
function cm.damcon(e,tp,eg)
local st=e:GetHandler():GetSummonType()
......
--Sepialife - Muted Sonata
--Scripted by AlphaKretin
--For Nemoma
local s = c33701010
local id = 33701010
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--Special Summon
local e1 = Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_HAND + LOCATION_GRAVE)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
Duel.AddCustomActivityCounter(id, ACTIVITY_SUMMON, s.counterfilter)
Duel.AddCustomActivityCounter(id, ACTIVITY_SPSUMMON, s.counterfilter)
--Redirect
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(s.recon)
e2:SetValue(LOCATION_HAND)
c:RegisterEffect(e2)
end
function s.counterfilter(c)
return c:IsSetCard(0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetCustomActivityCount(id, tp, ACTIVITY_SUMMON) + Duel.GetCustomActivityCount(id, tp, ACTIVITY_SPSUMMON) ==
0
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP)
end
end
function s.recon(e, tp, eg, ep, ev, re, r, rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL)
end
--Sepialife - Voiceless Fugue
--Scripted by AlphaKretin
--For Nemoma
local s = c33701011
local id = 33701011
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--Special Summon
local e1 = Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_HAND + LOCATION_GRAVE)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
Duel.AddCustomActivityCounter(id, ACTIVITY_CHAIN, s.counterfilter)
--Special Summon other
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetTarget(s.sptg2)
e2:SetOperation(s.spop2)
c:RegisterEffect(e2)
end
function s.counterfilter(re, tp, cid)
return re:GetHandler():IsSetCard(0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetCustomActivityCount(id, tp, ACTIVITY_CHAIN) == 0
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP)
end
end
function s.spfilter(c, e, tp)
return c:IsSetCard(0x144e) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
function s.sptg2(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and
Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_HAND + LOCATION_GRAVE, 0, 1, nil, e, tp)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_HAND + LOCATION_GRAVE)
end
function s.spop2(e, tp, eg, ep, ev, re, r, rp)
if Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0 then
return
end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
local g =
Duel.SelectMatchingCard(
tp,
aux.NecroValleyFilter(s.spfilter),
tp,
LOCATION_HAND + LOCATION_GRAVE,
0,
1,
1,
nil,
e,
tp
)
if #g > 0 then
Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP)
end
end
--Sepialife - Lonely Suite
--Scripted by AlphaKretin
--For Nemoma
local s = c33701012
local id = 33701012
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--special summon
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--damage
local e2 = Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE + PHASE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCountLimit(1, id)
e2:SetCondition(s.damcon)
e2:SetTarget(s.damtg)
e2:SetOperation(s.damop)
c:RegisterEffect(e2)
end
function s.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_MZONE, 0, 1, nil)
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) ~= 0 then
--Cannot be destroyed
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTargetRange(LOCATION_MZONE, 0)
e1:SetTarget(s.indtg)
e1:SetValue(s.indval)
e1:SetReset(RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN)
Duel.RegisterEffect(e1, tp)
--No damage
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1, 0)
e2:SetValue(1)
e2:SetReset(RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN)
Duel.RegisterEffect(e2, tp)
end
end
function s.indtg(e, c)
return c:IsFaceup() and c:IsSetCard(0x144e)
end
function s.indval(e, re, rp)
return rp ~= e:GetHandlerPlayer()
end
function s.damcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetTurnPlayer() == tp and Duel.GetActivityCount(tp, ACTIVITY_BATTLE_PHASE) == 0
end
function s.damtg(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return true
end
Duel.SetTargetPlayer(1 - tp)
Duel.SetTargetParam(1700)
Duel.SetOperationInfo(0, CATEGORY_DAMAGE, nil, 0, 1 - tp, 1700)
end
function s.damop(e, tp, eg, ep, ev, re, r, rp)
local p, d = Duel.GetChainInfo(0, CHAININFO_TARGET_PLAYER, CHAININFO_TARGET_PARAM)
Duel.Damage(p, d, REASON_EFFECT)
end
--Sepialife - Dimmed Concerto
--Scripted by AlphaKretin
--For Nemoma
local s = c33701013
local id = 33701013
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--special summon
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--Change ATK
local e2 = Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE + PHASE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCountLimit(1)
e2:SetCondition(s.atkcon)
e2:SetTarget(s.atktg)
e2:SetOperation(s.atkop)
c:RegisterEffect(e2)
end
function s.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_MZONE, 0, 1, nil)
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) ~= 0 then
--Cannot be destroyed
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetTargetRange(LOCATION_MZONE, 0)
e1:SetTarget(s.indtg)
e1:SetValue(1)
e1:SetReset(RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN)
Duel.RegisterEffect(e1, tp)
--No damage
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetTargetRange(0, LOCATION_MZONE)
e2:SetValue(-1500)
e2:SetReset(RESET_PHASE + PHASE_STANDBY + RESET_SELF_TURN)
Duel.RegisterEffect(e2, tp)
local e3 = e2:Clone()
e3:SetCode(EFFECT_UPDATE_DEFENSE)
Duel.RegisterEffect(e3, tp)
end
end
function s.indtg(e, c)
return c:IsFaceup() and c:IsSetCard(0x144e)
end
function s.atkcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetTurnPlayer() == tp and Duel.GetActivityCount(tp, ACTIVITY_BATTLE_PHASE) == 0
end
function s.atktg(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.IsExistingMatchingCard(Card.IsFaceup, tp, 0, LOCATION_MZONE, 1, nil)
end
end
function s.atkop(e, tp, eg, ep, ev, re, r, rp)
local g = Duel.GetMatchingGroup(Card.IsFaceup, tp, 0, LOCATION_MZONE, nil)
for tc in aux.Next(g) do
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetReset(RESET_EVENT + RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2 = e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
tc:RegisterEffect(e2)
end
end
--Sepialife - Dazed Impromptu
--Scripted by AlphaKretin
--For Nemoma
local s = c33701014
local id = 33701014
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--Special Summon
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON + CATEGORY_TOHAND + CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--atk up
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 1))
e2:SetType(EFFECT_TYPE_TRIGGER_F + EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_PHASE + PHASE_STANDBY)
e2:SetCountLimit(1)
e2:SetCondition(s.atkcon)
e2:SetOperation(s.atkop)
c:RegisterEffect(e2)
end
function s.spcfilter(c, tp)
return c:IsReason(REASON_BATTLE + REASON_EFFECT) and c:GetPreviousControler() == tp and
c:IsPreviousLocation(LOCATION_ONFIELD) and
c:IsType(TYPE_MONSTER) and
c:IsSetCard(0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return eg:IsExists(s.spcfilter, 1, nil, tp)
end
function s.thfilter(c)
return c:IsType(TYPE_SPELL + TYPE_TRAP) and c:IsAbleToHand()
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
local sg = Duel.GetMatchingGroup(s.thfilter, tp, 0, LOCATION_ONFIELD, nil)
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
Duel.SetOperationInfo(0, CATEGORY_TOHAND, sg, #sg, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP_ATTACK) ~= 0 then
local mg = Duel.GetMatchingGroup(Card.IsFaceup, tp, 0, LOCATION_MZONE, nil)
for tc in aux.Next(mg) do
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(tc:GetAttack() // 2)
e1:SetReset(RESET_EVENT + RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2 = e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetValue(tc:GetDefense() // 2)
tc:RegisterEffect(e2)
end
local sg = Duel.GetMatchingGroup(s.thfilter, tp, 0, LOCATION_ONFIELD, nil)
if #sg > 0 then
Duel.SendtoHand(sg, nil, REASON_EFFECT)
end
end
end
function s.atkcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetTurnPlayer() == tp
end
function s.atkop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_DISABLE)
c:RegisterEffect(e1)
local e2 = e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2)
end
end
--Sepialife - Blank Scherzo
--Scripted by AlphaKretin
--For Nemoma
local s = c33701015
local id = 33701015
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--Special Summon
local e1 = Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_HAND + LOCATION_GRAVE)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--Draw
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_CANNOT_NEGATE)
e2:SetOperation(s.regop)
c:RegisterEffect(e2)
if not s.global_flag then
s.global_flag = true
s[0] = 0
s[1] = 0
local ge1 = Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_HAND)
ge1:SetOperation(s.ctop)
Duel.RegisterEffect(ge1, 0)
local ge2 = Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_PHASE + PHASE_DRAW)
ge2:SetCountLimit(1)
ge2:SetCondition(s.resetop)
Duel.RegisterEffect(ge2, 0)
end
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return s[tp] == 0
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false) and
Duel.IsPlayerCanDraw(tp, 2)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
Duel.SetOperationInfo(0, CATEGORY_DRAW, nil, 2, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP_ATTACK) ~= 0 then
Duel.Draw(tp, 2, REASON_EFFECT)
end
end
function s.ctfilter(c)
return not (c:IsReason(REASON_DRAW) or c:IsSetCard(0x144e))
end
function s.ctop(e, tp, eg, ep, ev, re, r, rp)
s[tp] = s[tp] + eg:FilterCount(s.ctfilter, nil)
end
function s.resetop(e, tp, eg, ep, ev, re, r, rp)
s[0] = 0
s[1] = 0
return false
end
function s.regop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsFacedown() or not c:IsSummonType(SUMMON_TYPE_SPECIAL) or Duel.GetTurnPlayer() == effp then
return
end
local effp = c:GetControler()
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetOperation(s.chainreg)
e1:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e1, effp)
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(s.drcon)
e2:SetOperation(s.drop)
e2:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e2, effp)
end
function s.chainreg(e, tp, eg, ep, ev, re, r, rp)
e:GetHandler():RegisterFlagEffect(id, RESET_EVENT + 0x1fc0000 + RESET_CHAIN, 0, 1)
end
function s.drcon(e, tp, eg, ep, ev, re, r, rp)
return ep ~= tp and e:GetHandler():GetFlagEffect(id) ~= 0
end
function s.drop(e, tp, eg, ep, ev, re, r, rp)
Duel.Hint(HINT_CARD, 0, id)
Duel.Draw(tp, 1, REASON_EFFECT)
end
--Sepialife - Peerless March
--Scripted by AlphaKretin
--For Nemoma
local s = c33701016
local id = 33701016
function s.initial_effect(c)
c:SetSPSummonOnce(id)
--Special Summon
local e1 = Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_HAND + LOCATION_GRAVE)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
end
function s.cfilter(c)
return c:IsFacedown() or not c:IsSetCard(0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return not Duel.IsExistingMatchingCard(s.cfilter, tp, LOCATION_MZONE, 0, 1, nil)
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if
c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) ~= 0 and
Duel.SelectYesNo(tp, aux.Stringid(id, 1))
then
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DRAW_COUNT)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1, 0)
e1:SetValue(3) --1 normal draw + 2 "additional" cards
e1:SetReset(EVENT_PHASE + PHASE_STANDBY + RESET_SELF_TURN)
Duel.RegisterEffect(e1, tp)
end
end
function s.recon(e, tp, eg, ep, ev, re, r, rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SPECIAL)
end
--Sepialife - Empty Aubade
--Scripted by AlphaKretin
--For Nemoma
local s = c33701017
local id = 33701017
function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c, nil, 2, 2, s.lcheck)
--special summon self
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_EXTRA)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--negate
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 1))
e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
e2:SetOperation(s.negop)
c:RegisterEffect(e2)
--special summon other
local e3 = Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id, 2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(s.sptg2)
e3:SetOperation(s.spop2)
c:RegisterEffect(e3)
end
function s.lcheck(g, lc, tp)
return g:IsExists(Card.IsLinkSetCard, 1, nil, 0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
local ns, ss = Duel.GetActivityCount(tp, ACTIVITY_SUMMON, ACTIVITY_SPSUMMON)
return Duel.GetTurnPlayer() == tp and ns + ss == 0
end
function s.spfilter(c)
return c:IsSetCard(0x144e) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function s.MZFilter(c, tp)
return c:IsLocation(LOCATION_MZONE) and c:GetSequence() < 5 and c:IsControler(tp)
end
function s.ChkfMMZ(sumcount)
return function(sg, e, tp, mg)
return sg:FilterCount(s.MZFilter, nil, tp) + Duel.GetLocationCount(tp, LOCATION_MZONE) >= sumcount
end
end
function s.spcost(e, tp, eg, ep, ev, re, r, rp, chk)
local rg = Duel.GetMatchingGroup(s.spfilter, tp, LOCATION_HAND + LOCATION_GRAVE, 0, e:GetHandler())
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > -2 and #rg > 1 and
rg:CheckSubGroup(s.ChkfMMZ(1), 2, 2, tp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g = rg:SelectSubGroup(s.ChkfMMZ(1), tp, 2, 2, tp)
Duel.Remove(g, POS_FACEUP, REASON_COST)
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return c:IsCanBeSpecialSummoned(e, 0, tp, true, true)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, true, true, POS_FACEUP) ~= 0 then
c:CompleteProcedure()
c:RegisterFlagEffect(id, RESET_EVENT + RESETS_STANDARD, 0, 0)
end
end
function s.negop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:GetFlagEffect(id) ~= 0 then
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetTargetRange(0, LOCATION_ONFIELD)
e1:SetTarget(s.disable)
e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN)
Duel.RegisterEffect(e1, tp)
end
end
function s.disable(e, c)
return c ~= e:GetHandler() and aux.disfilter1(c)
end
function s.spfilter2(c, e, tp, zone)
return c:IsSetCard(0x144e) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false, POS_FACEUP, tp, zone)
end
function s.sptg2(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
local zone = e:GetHandler():GetLinkedZone(tp)
return zone ~= 0 and Duel.IsExistingMatchingCard(s.spfilter2, tp, LOCATION_REMOVED, 0, 1, nil, e, tp, zone)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_REMOVED)
end
function s.spop2(e, tp, eg, ep, ev, re, r, rp)
local zone = e:GetHandler():GetLinkedZone(tp)
if zone == 0 then
return
end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
local g = Duel.SelectMatchingCard(tp, s.spfilter2, tp, LOCATION_REMOVED, 0, 1, 1, nil, e, tp, zone)
if #g > 0 then
Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP, zone)
end
end
--Sepialife - Void Nocturne
--Scripted by AlphaKretin
--For Nemoma
local s = c33701018
local id = 33701018
function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddLinkProcedure(c, nil, 2, 3, s.lcheck)
--special summon self
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_EXTRA)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--double atk
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 1))
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY)
e2:SetOperation(s.atkop)
c:RegisterEffect(e2)
--special summon other
local e3 = Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id, 2))
e3:SetCategory(CATEGORY_TOHAND + CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(s.thtg)
e3:SetOperation(s.thop)
c:RegisterEffect(e3)
end
function s.lcheck(g, lc, tp)
return g:IsExists(Card.IsLinkSetCard, 1, nil, 0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
local ns, ss = Duel.GetActivityCount(tp, ACTIVITY_SUMMON, ACTIVITY_SPSUMMON)
return Duel.GetTurnPlayer() == tp and ns + ss == 0
end
function s.spfilter(c)
return c:IsSetCard(0x144e) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end
function s.MZFilter(c, tp)
return c:IsLocation(LOCATION_MZONE) and c:GetSequence() < 5 and c:IsControler(tp)
end
function s.ChkfMMZ(sumcount)
return function(sg, tp)
return sg:FilterCount(s.MZFilter, nil, tp) + Duel.GetLocationCount(tp, LOCATION_MZONE) >= sumcount
end
end
function s.spcost(e, tp, eg, ep, ev, re, r, rp, chk)
local rg = Duel.GetMatchingGroup(s.spfilter, tp, LOCATION_HAND + LOCATION_MZONE + LOCATION_GRAVE, 0, e:GetHandler())
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > -3 and #rg > 1 and
rg:CheckSubGroup(s.ChkfMMZ(1), 3, 3, tp)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g = rg:SelectSubGroup(s.ChkfMMZ(1), 3, 3, tp)
Duel.Remove(g, POS_FACEUP, REASON_COST)
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return c:IsCanBeSpecialSummoned(e, 0, tp, true, true)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, true, true, POS_FACEUP) ~= 0 then
c:CompleteProcedure()
c:RegisterFlagEffect(id, RESET_EVENT + RESETS_STANDARD, 0, 0)
end
end
function s.atkfilter(c)
return c:IsFaceup() and c:IsSetCard(0x144e)
end
function s.atkop(e, tp, eg, ep, ev, re, r, rp)
local g = Duel.GetMatchingGroup(s.atkfilter, tp, LOCATION_MZONE, 0, nil)
local c = e:GetHandler()
if c:GetFlagEffect(id) == 0 then
return
end
for tc in aux.Next(g) do
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT + RESETS_STANDARD)
e1:SetValue(tc:GetAttack() * 2)
tc:RegisterEffect(e1)
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
e2:SetReset(RESET_EVENT + RESETS_STANDARD)
e2:SetValue(tc:GetDefense() * 2)
tc:RegisterEffect(e2)
end
end
function s.thfilter(c)
return c:IsSetCard(0x144e) and c:IsAbleToHand()
end
function s.thtg(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.IsExistingMatchingCard(s.thfilter, tp, LOCATION_REMOVED, 0, 1, nil) and Duel.IsPlayerCanDraw(tp, 1)
end
Duel.SetOperationInfo(0, CATEGORY_TOHAND, nil, 1, tp, LOCATION_REMOVED)
Duel.SetOperationInfo(0, CATEGORY_DRAW, nil, 1, tp, 0)
end
function s.thop(e, tp, eg, ep, ev, re, r, rp)
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TOHAND)
local g = Duel.SelectMatchingCard(tp, s.thfilter, tp, LOCATION_REMOVED, 0, 1, 1, nil)
if #g > 0 and Duel.SendtoHand(g, nil, REASON_EFFECT + REASON_RETURN) ~= 0 then
Duel.Draw(tp, 1, REASON_EFFECT)
end
end
--Sepialife - Blind Devinalh
--Scripted by AlphaKretin
--For Nemoma
local s = c33701019
local id = 33701019
function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddXyzProcedure(c, nil, 4, 2, nil, nil, 99, nil, false, s.xcheck)
--special summon self
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_EXTRA)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--draw
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 1))
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PREDRAW)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(s.drcon)
e2:SetCost(s.drcost)
e2:SetTarget(s.drtg)
e2:SetOperation(s.drop)
c:RegisterEffect(e2)
end
function s.xcheck(g, lc, tp)
return g:IsExists(Card.IsXyzSetCard, 1, nil, 0x144e)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
local ct = Duel.GetActivityCount(tp, ACTIVITY_CHAIN)
return Duel.GetTurnPlayer() == tp and ct == 0
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return c:IsCanBeSpecialSummoned(e, 0, tp, true, true) and
Duel.IsExistingMatchingCard(Card.IsSetCard, tp, LOCATION_GRAVE, 0, 2, nil, 0x144e)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, true, true, POS_FACEUP) ~= 0 then
c:CompleteProcedure()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_XMATERIAL)
local g = Duel.SelectMatchingCard(tp, Card.IsSetCard, tp, LOCATION_GRAVE, 0, 2, 2, nil, 0x144e)
if #g > 0 then
Duel.Overlay(c, g)
end
end
end
function s.drcon(e, tp, eg, ep, ev, re, r, rp)
return tp == Duel.GetTurnPlayer()
end
function s.drcost(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return c:CheckRemoveOverlayCard(tp, 1, REASON_COST)
end
c:RemoveOverlayCard(tp, 1, 1, REASON_COST)
end
function s.drtg(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.IsPlayerCanDraw(tp, 3)
end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(3)
Duel.SetOperationInfo(0, CATEGORY_DRAW, nil, 0, tp, 3)
end
function s.drop(e, tp, eg, ep, ev, re, r, rp)
local p, d = Duel.GetChainInfo(0, CHAININFO_TARGET_PLAYER, CHAININFO_TARGET_PARAM)
if Duel.Draw(p, d, REASON_EFFECT) == 3 then
Duel.ShuffleHand(p)
Duel.BreakEffect()
Duel.SkipPhase(tp, PHASE_DRAW, RESET_PHASE + PHASE_END, 1)
Duel.SkipPhase(tp, PHASE_STANDBY, RESET_PHASE + PHASE_END, 1)
Duel.SkipPhase(tp, PHASE_MAIN1, RESET_PHASE + PHASE_END, 1)
Duel.SkipPhase(tp, PHASE_BATTLE, RESET_PHASE + PHASE_END, 1, 1)
Duel.SkipPhase(tp, PHASE_MAIN2, RESET_PHASE + PHASE_END, 1)
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BP)
e1:SetTargetRange(0, 1)
e1:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e1, tp)
end
end
--Sepialife - Frozen Reverdie
--Scripted by AlphaKretin
--For Nemoma
local s = c33701020
local id = 33701020
function s.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c, aux.FilterBoolFunction(Card.IsFusionSetCard, 0x144e), 3, false)
--special summon self
local e1 = Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id, 0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetRange(LOCATION_EXTRA)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
--end phase
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 1))
e2:SetCategory(CATEGORY_TOGRAVE + CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(s.tgcon)
e2:SetTarget(s.tgtg)
e2:SetOperation(s.tgop)
c:RegisterEffect(e2)
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
local ct = Duel.GetActivityCount(tp, ACTIVITY_BATTLE_PHASE)
return Duel.GetTurnPlayer() == tp and ct == 0
end
function s.matfilter(c)
return c:IsSetCard(0x144e) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return c:IsCanBeSpecialSummoned(e, 0, tp, true, true) and
Duel.IsExistingMatchingCard(s.matfilter, tp, LOCATION_GRAVE, 0, 3, nil)
end
Duel.SetOperationInfo(0, CATEGORY_TODECK, nil, 3, tp, LOCATION_GRAVE)
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TODECK)
local g = Duel.SelectMatchingCard(tp, s.matfilter, tp, LOCATION_GRAVE, 0, 3, 3, nil)
if #g > 2 and Duel.SendtoDeck(g, nil, 2, REASON_EFFECT) > 2 then
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c, 0, tp, tp, true, true, POS_FACEUP) ~= 0 then
c:CompleteProcedure()
end
end
end
function s.tgcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetCurrentPhase() == PHASE_MAIN1 and not Duel.CheckPhaseActivity()
end
function s.tgfilter(c)
return c:IsSetCard(0x144e) and c:IsAbleToGrave()
end
function s.tgtg(e, tp, eg, ep, ev, re, r, rp, chk)
local g = Duel.GetMatchingGroup(s.tgfilter, tp, LOCATION_DECK, 0, nil)
if chk == 0 then
return g:CheckSubGroup(aux.dncheck, 1, 4)
end
Duel.SetOperationInfo(0, CATEGORY_TOGRAVE, g, 1, 0, 0)
end
function s.tgop(e, tp, eg, ep, ev, re, r, rp)
local g = Duel.GetMatchingGroup(s.tgfilter, tp, LOCATION_DECK, 0, nil, e, tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local dg = g:SelectSubGroup(aux.dncheck, tp, 1, 4)
if #dg > 0 then
local ct = Duel.SendtoGrave(dg, REASON_EFFECT)
if ct > 0 and Duel.Recover(tp, ct * 1000, REASON_EFFECT) > 0 then
Duel.BreakEffect()
Duel.SkipPhase(tp, PHASE_MAIN1, RESET_PHASE + PHASE_END, 1)
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1, 0)
e1:SetCode(EFFECT_CANNOT_BP)
e1:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e1, tp)
end
end
end
--Sepialife
--Scripted by AlphaKretin
--For Nemoma
local s = c33701021
local id = 33701021
function s.initial_effect(c)
--Activate
local e1 = Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND + CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
--Skip phases
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE + PHASE_STANDBY)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetOperation(s.skipop)
c:RegisterEffect(e2)
--recover
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE + PHASE_END)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1)
e3:SetCondition(s.thcon)
e3:SetTarget(s.thtg)
e3:SetOperation(s.thop)
c:RegisterEffect(e3)
end
function s.tgfilter(c)
return c:IsSetCard(0x144e) and c:IsAbleToGrave()
end
function s.activate(e, tp, eg, ep, ev, re, r, rp)
if not e:GetHandler():IsRelateToEffect(e) then
return
end
local g = Duel.GetMatchingGroup(s.tgfilter, tp, LOCATION_DECK, 0, nil)
if g:CheckSubGroup(aux.dncheck, 1, 3) and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local dg = g:SelectSubGroup(aux.dncheck, tp, 1, 3)
Duel.SendtoGrave(dg, REASON_EFFECT)
end
end
function s.skipop(e, tp, eg, ep, ev, re, r, rp)
if Duel.GetTurnPlayer() ~= tp then
return
end
local c = e:GetHandler()
local hinted = false
if Duel.SelectYesNo(tp, aux.Stringid(id, 1)) then
Duel.Hint(HINT_CARD, 0, id)
hinted = true
Duel.Hint(HINT_OPSELECTED, 1 - tp, aux.Stringid(id, 1))
Duel.SkipPhase(tp, PHASE_MAIN1, RESET_PHASE + PHASE_END, 1)
Duel.SkipPhase(tp, PHASE_MAIN2, RESET_PHASE + PHASE_END, 1)
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetCountLimit(1)
e1:SetOperation(s.drop)
e1:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e1, tp)
end
if Duel.SelectYesNo(tp, aux.Stringid(id, 2)) then
if not hinted then
Duel.Hint(HINT_CARD, 0, id)
end
Duel.Hint(HINT_OPSELECTED, 1 - tp, aux.Stringid(id, 2))
Duel.SkipPhase(tp, PHASE_BATTLE, RESET_PHASE + PHASE_END, 1)
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE + PHASE_END)
e2:SetCountLimit(1)
e2:SetOperation(s.lpop)
e2:SetReset(RESET_PHASE + PHASE_END)
Duel.RegisterEffect(e2, tp)
end
end
function s.drop(e, tp, eg, ep, ev, re, r, rp)
Duel.Hint(HINT_CARD, 0, id)
Duel.Draw(tp, 2, REASON_EFFECT)
end
function s.lpop(e, tp, eg, ep, ev, re, r, rp)
Duel.Hint(HINT_CARD, 0, id)
Duel.Recover(tp, 2000, REASON_EFFECT)
end
function s.thcon(e, tp, eg, ep, ev, re, r, rp)
local ns, ss = Duel.GetActivityCount(tp, ACTIVITY_SUMMON, ACTIVITY_SPSUMMON)
return ns + ss == 0
end
function s.thtg(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return c:IsAbleToHand()
end
Duel.SetOperationInfo(0, CATEGORY_TOHAND, c, 1, 0, 0)
Duel.SetOperationInfo(0, CATEGORY_LEAVE_GRAVE, c, 1, 0, 0)
end
function s.thop(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c, nil, REASON_EFFECT)
end
end
--Living the Sepialife
--Scripted by AlphaKretin
--For Nemoma
local s = c33701022
local id = 33701022
function s.initial_effect(c)
--Activate
local e1 = Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND + CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
--special summon
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0, TIMING_END_PHASE)
e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1)
e2:SetCondition(s.spcon)
e2:SetTarget(s.sptg)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
--gain LP
local e3 = Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id, 0))
e3:SetCategory(CATEGORY_RECOVER)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_GRAVE)
e3:SetCost(s.lpcost)
e3:SetTarget(s.lptg)
e3:SetOperation(s.lpop)
c:RegisterEffect(e3)
end
function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return true
end
if s.spcon(e, tp, eg, ep, ev, re, r, rp) and s.sptg(e, tp, eg, ep, ev, re, r, rp, 0) and Duel.SelectYesNo(tp, 94) then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
e:SetOperation(s.spop)
s.sptg(e, tp, eg, ep, ev, re, r, rp, 1)
else
e:SetCategory(0)
e:SetProperty(0)
e:SetOperation(nil)
end
end
function s.spcon(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetTurnPlayer() ~= tp
end
function s.spfilter(c, e, tp)
return c:IsSetCard(0x144e) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false)
end
function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk, chkc)
if chkc then
return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and s.spfilter(chkc, e, tp)
end
if chk == 0 then
return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and
Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_GRAVE, 0, 1, nil, e, tp)
end
Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, 0, LOCATION_GRAVE)
end
function s.spop(e, tp, eg, ep, ev, re, r, rp)
if not e:GetHandler():IsRelateToEffect(e) then
return
end
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
local g = Duel.SelectMatchingCard(tp, s.spfilter, tp, LOCATION_GRAVE, 0, 1, 1, nil, e, tp)
if #g > 0 and Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP) > 0 then
local e1 = Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_CONTINUOUS + EFFECT_TYPE_FIELD)
e1:SetCode(EVENT_PHASE + PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE + PHASE_END)
e1:SetOperation(s.thop)
Duel.RegisterEffect(e1, tp)
end
end
function s.thfilter(c)
return c:IsFaceup() and c:IsSetCard(0x144e) and c:IsAbleToHand()
end
function s.thop(e, tp, eg, ep, ev, re, r, rp)
Duel.Hint(HINT_CARD, 0, id)
local g = Duel.GetMatchingGroup(s.thfilter, tp, LOCATION_MZONE, 0, nil)
if #g > 0 then
local ct = Duel.SendtoHand(g, nil, REASON_EFFECT)
if ct > 0 then
Duel.Recover(tp, ct * 500, REASON_EFFECT)
end
end
end
function s.tdfilter(c)
return c:IsSetCard(0x144e) and c:IsAbleToDeckAsCost()
end
function s.lpcost(e, tp, eg, ep, ev, re, r, rp, chk)
local c = e:GetHandler()
if chk == 0 then
return aux.bfgcost(e, tp, eg, ep, ev, re, r, rp, chk) and
Duel.IsExistingMatchingCard(s.tdfilter, tp, LOCATION_GRAVE, 0, 2, c)
end
aux.bfgcost(e, tp, eg, ep, ec, re, r, rp)
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TODECK)
local g = Duel.SelectMatchingCard(tp, s.tdfilter, tp, LOCATION_GRAVE, 0, 2, 2, c)
Duel.SendtoDeck(g, nil, 2, REASON_COST)
end
function s.lptg(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return true
end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1200)
Duel.SetOperationInfo(0, CATEGORY_RECOVER, nil, 0, tp, 1200)
end
function s.lpop(e, tp, eg, ep, ev, re, r, rp)
local p, d = Duel.GetChainInfo(0, CHAININFO_TARGET_PLAYER, CHAININFO_TARGET_PARAM)
Duel.Recover(p, d, REASON_EFFECT)
end
--Dreaming the Sepialife
--Scripted by AlphaKretin
--For Nemoma
local s = c33701023
local id = 33701023
function s.initial_effect(c)
--Activate
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0, TIMING_MAIN_END)
e1:SetCondition(s.condition)
e1:SetCost(s.cost)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
--tograve
local e2 = Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id, 1))
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost)
e2:SetTarget(s.tgtg)
e2:SetOperation(s.tgop)
c:RegisterEffect(e2)
end
function s.condition(e, tp, eg, ep, ev, re, r, rp)
return Duel.GetTurnPlayer() ~= tp and Duel.IsAbleToEnterBP()
end
function s.cost(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.CheckReleaseGroupCost(tp, Card.IsSetCard, 2, false, aux.ReleaseCheckMMZ, nil, 0x144e)
end
local g = Duel.SelectReleaseGroupCost(tp, Card.IsSetCard, 2, 2, false, aux.ReleaseCheckMMZ, nil, 0x144e)
Duel.Release(g, REASON_COST)
end
function s.activate(e, tp, eg, ep, ev, re, r, rp)
if Duel.IsChainDisablable(0) then
local g = Duel.GetMatchingGroup(Card.IsAbleToGrave, tp, 0, LOCATION_MZONE, nil)
if #g > 1 and Duel.SelectYesNo(1 - tp, aux.Stringid(id, 0)) then
Duel.Hint(HINT_SELECTMSG, 1 - tp, HINTMSG_TOGRAVE)
local sg = g:Select(1 - tp, 2, 2, nil)
Duel.SendtoGrave(sg, REASON_EFFECT)
Duel.NegateEffect(0)
return
end
end
Duel.SkipPhase(1 - tp, PHASE_BATTLE, RESET_PHASE + PHASE_END, 1)
end
function s.tgfilter(c)
return c:IsSetCard(0x144e) and c:IsAbleToGrave()
end
function s.tgtg(e, tp, eg, ep, ev, re, r, rp, chk)
if chk == 0 then
return Duel.IsExistingMatchingCard(s.tgfilter, tp, LOCATION_DECK, 0, 2, nil)
end
Duel.SetOperationInfo(0, CATEGORY_TOGRAVE, nil, 2, tp, LOCATION_DECK)
end
function s.tgop(e, tp, eg, ep, ev, re, r, rp)
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_TOGRAVE)
local g = Duel.SelectMatchingCard(tp, s.tgfilter, tp, LOCATION_DECK, 0, 2, 2, nil)
if #g > 0 then
Duel.SendtoGrave(g, REASON_EFFECT)
end
end
--穿越梦想的一执念
local m=33701048
local cm=_G["c"..m]
function cm.initial_effect(c)
--special summon proc
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(m,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_FIELD)
e0:SetCode(EFFECT_SPSUMMON_PROC)
e0:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e0:SetCondition(cm.sumcon)
e0:SetCountLimit(1,m)
e0:SetOperation(cm.sumop)
e0:SetValue(1)
c:RegisterEffect(e0)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,m+666)
e1:SetCost(cm.spcost)
e1:SetTarget(cm.sptg)
e1:SetOperation(cm.spop)
c:RegisterEffect(e1)
--damage
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,2))
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetCountLimit(1,m+999)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_MZONE)
e3:SetCost(cm.cost)
e3:SetTarget(cm.target)
e3:SetOperation(cm.operation)
c:RegisterEffect(e3)
end
function cm.refil(c)
return c:IsAbleToGraveAsCost()
end
function cm.sumcon(e,c)
local tp=e:GetHandler():GetControler()
return Duel.IsExistingMatchingCard(cm.refil,tp,LOCATION_EXTRA,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectMatchingCard(tp,cm.refil,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
Duel.BreakEffect()
Duel.Recover(tp,1200,REASON_EFFECT)
end
---to grave
function cm.cfilter(c,ec)
return c:IsAbleToGraveAsCost()
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,c)
Duel.SendtoGrave(g,REASON_COST)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
end
end
--effect Damage
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.refil,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(800)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
\ No newline at end of file
--月球意识 篝
function c33701060.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701060,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c33701060.spcost)
e2:SetTarget(c33701060.sptg)
e2:SetOperation(c33701060.spop)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701060.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701060.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701060,0))
end
function c33701060.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c33701060.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c33701060.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701058,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then
local token=Duel.CreateToken(tp,33701058)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
token:RegisterEffect(e3)
local de=Effect.CreateEffect(e:GetHandler())
de:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
de:SetCode(EVENT_PHASE+PHASE_END,2)
de:SetCategory(CATEGORY_TOHAND)
de:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
de:SetCountLimit(1)
de:SetValue(c33701060.aclimit)
de:SetTarget(c33701060.destg)
de:SetOperation(c33701060.desop)
Duel.RegisterEffect(de,tp)
end
end
function c33701060.aclimit(e,re,tp)
return not re:GetHandler():IsCode(33701058)
end
function c33701060.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,PLAYER_ALL,1)
end
function c33701060.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,aux.ExceptThisCard(e))
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Draw(1-tp,1,REASON_EFFECT)
end
\ No newline at end of file
--地球意识 篝
function c33701061.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701061,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c33701061.spcost)
e2:SetTarget(c33701061.sptg)
e2:SetOperation(c33701061.spop)
c:RegisterEffect(e2)
--Remove
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DESTROYED)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCondition(c33701061.thcon)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c33701061.thtg)
e2:SetOperation(c33701061.thop)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701061.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701061.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701061,2))
end
function c33701061.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c33701061.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33701059,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function c33701061.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33701059,0,0x4011,0,3000,10,RACE_PLANT,ATTRIBUTE_EARTH) then
local token=Duel.CreateToken(tp,33701059)
Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
token:RegisterEffect(e1)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
token:RegisterEffect(e3)
end
end
function c33701061.cfilter2(c,tp)
return c:IsType(TYPE_TOKEN) and c:IsReason(REASON_BATTLE) and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp
end
function c33701061.thcon(e,tp,eg,ep,ev,re,r,rp)
if eg:IsContains(e:GetHandler()) then return false end
return eg:IsExists(c33701061.cfilter2,1,nil,tp)
end
function c33701061.rmfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function c33701061.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)>3 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>3 and Duel.IsPlayerCanRemove(tp)
and Duel.IsPlayerCanRemove(1-tp) end
end
function c33701061.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,0,LOCATION_HAND+LOCATION_ONFIELD)>1 and Duel.IsChainDisablable(0)
and Duel.SelectYesNo(1-tp,aux.Stringid(33701061,1)) then
Duel.Remove(1-tp,aux.TRUE,2,2,POS_FACEUP,REASON_EFFECT)
Duel.NegateEffect(0)
return
end
if not Duel.IsPlayerCanRemove(1-tp) then return end
if not Duel.IsPlayerCanRemove(tp) then return end
local g1=Duel.GetMatchingGroup(c33701061.rmfilter,1-tp,LOCATION_DECK,0,nil)
local g2=Duel.GetMatchingGroup(c33701061.rmfilter,tp,LOCATION_DECK,0,nil)
if g1:GetCount()>3 and g2:GetCount()>3 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_REMOVE)
local sg1=g2:Select(tp,4,4,nil)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_CONFIRM)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg2=g1:Select(1-tp,4,4,nil)
sg1:Merge(sg2)
Duel.Remove(sg1,POS_FACEUP,REASON_EFFECT)
end
end
--魔法的第三惑精 奇迹☆篝酱
function c33701062.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,5,2,c33701062.ovfilter,aux.Stringid(33701062,0),3,c33701062.xyzop)
c:EnableReviveLimit()
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c33701062.spcost)
e1:SetTarget(c33701062.target)
e1:SetOperation(c33701062.operation)
c:RegisterEffect(e1)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701062.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701062.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701062,1))
end
function c33701062.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701062.ovfilter(c)
return c:IsFaceup() and c:IsSetCard(0x440) and c:IsType(TYPE_MONSTER)
end
function c33701062.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,33701062)==0 end
Duel.RegisterFlagEffect(tp,33701062,RESET_PHASE+PHASE_END,0,1)
end
function c33701062.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) end
if chk==0 then return Duel.IsExistingTarget(nil,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,nil,tp,0,LOCATION_MZONE,1,1,nil)
end
function c33701062.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc)
c:CreateRelation(tc,RESET_EVENT+RESETS_STANDARD)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetCondition(c33701062.rcon)
tc:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
tc:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
tc:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
tc:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
tc:RegisterEffect(e5,true)
local e6=e1:Clone()
e6:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
tc:RegisterEffect(e6,true)
local e7=e1:Clone()
e7:SetCode(EFFECT_UNRELEASABLE_SUM)
tc:RegisterEffect(e7,true)
local e8=e1:Clone()
e8:SetCode(EFFECT_UNRELEASABLE_NONSUM)
tc:RegisterEffect(e8,true)
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_SINGLE)
e9:SetCode(EFFECT_SET_ATTACK_FINAL)
e9:SetReset(RESET_EVENT+RESETS_STANDARD)
e9:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e9:SetCondition(c33701062.rcon)
e9:SetValue(0)
tc:RegisterEffect(e9)
local e10=e9:Clone()
e10:SetCode(EFFECT_SET_DEFENSE_FINAL)
tc:RegisterEffect(e10,true)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701062,1))
end
function c33701062.rcon(e)
return not e:GetHandler():IsImmuneToEffect(e) and e:GetOwner():IsRelateToCard(e:GetHandler())
end
\ No newline at end of file
--星球意识 篝
function c33701063.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkAttribute,ATTRIBUTE_EARTH),1,99)
c:EnableReviveLimit()
--special summon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33701063,0))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e4:SetCondition(c33701063.spcon)
e4:SetCost(c33701063.cost)
e4:SetTarget(c33701063.sptg)
e4:SetOperation(c33701063.spop)
c:RegisterEffect(e4)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701063.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701063.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701063,2))
end
function c33701063.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return (c:IsReason(REASON_BATTLE) or (c:GetReasonPlayer()==1-tp and c:IsReason(REASON_EFFECT)))
and c:IsPreviousPosition(POS_FACEUP)
end
function c33701063.cfilter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701063.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c33701063.cfilter,1,nil) end
local cg=Duel.SelectReleaseGroupEx(tp,c33701063.cfilter,1,1,nil)
Duel.Release(cg,REASON_COST)
end
function c33701063.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33701063.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>1 and Duel.IsChainDisablable(0)
and Duel.SelectYesNo(1-tp,aux.Stringid(33701063,1)) then
Duel.Remove(1-tp,aux.TRUE,2,2,POS_FACEUP,REASON_EFFECT)
Duel.NegateEffect(0)
return
end
if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
\ No newline at end of file
--篝 ~收获祭的覆唱~
function c33701064.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,nil,2,99,c33701064.lcheck)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33701064,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCountLimit(1,EFFECT_COUNT_CODE_OATH)
e3:SetTarget(c33701064.sptg)
e3:SetOperation(c33701064.spop)
c:RegisterEffect(e3)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701064,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c33701064.thtg)
e1:SetOperation(c33701064.thop)
c:RegisterEffect(e1)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701064,2))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_OATH)
e1:SetCost(c33701064.cost)
e1:SetOperation(c33701064.operation)
c:RegisterEffect(e1)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701064.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701064.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701064,3))
end
function c33701064.lcheck(g,lc)
return g:IsExists(Card.IsLevelAbove,1,nil,5)
end
function c33701064.spfilter(c,e,tp,zone)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end
function c33701064.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c33701064.spfilter(chkc,e,tp,zone) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c33701064.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp,zone) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33701064.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,zone)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33701064.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local zone=bit.band(e:GetHandler():GetLinkedZone(tp),0x1f)
if tc:IsRelateToEffect(e) and zone~=0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP,zone)
end
end
function c33701064.filter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x3440,0x441) and c:IsAbleToHand()
end
function c33701064.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701064.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33701064.check(g)
if #g==1 then return true end
local res=0x0
if g:IsExists(Card.IsSetCard,1,nil,0x3440) then res=res+0x1 end
if g:IsExists(Card.IsSetCard,1,nil,0x441) then res=res+0x2 end
return res~=0x1 and res~=0x2
end
function c33701064.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c33701064.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1=g:SelectSubGroup(tp,c33701064.check,false,1,2)
Duel.SendtoHand(g1,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g1)
end
function c33701064.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c33701064.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetValue(c33701064.damval)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
Duel.RegisterEffect(e2,tp)
end
function c33701064.damval(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 then return 0
else return val end
end
\ No newline at end of file
--篝 ~收获祭的记忆~
function c33701065.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,nil,2,2,c33701065.lcheck)
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701065,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_OATH)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c33701065.setcon)
e1:SetTarget(c33701065.settg)
e1:SetOperation(c33701065.setop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--set
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701065,1))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_OATH)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c33701065.pccon)
e1:SetTarget(c33701065.pctg)
e1:SetOperation(c33701065.pcop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701065.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701065.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701065,2))
end
function c33701065.lcheck(g,lc)
return g:IsExists(Card.IsLinkAttribute,1,nil,ATTRIBUTE_EARTH)
end
function c33701065.setcfilter(c,tp,ec)
if c:IsLocation(LOCATION_MZONE) then
return c:IsSetCard(0x441) and c:IsFaceup() and c:IsControler(tp) and ec:GetLinkedGroup():IsContains(c)
else
return c:IsPreviousSetCard(0x441) and c:IsPreviousPosition(POS_FACEUP)
and c:GetPreviousControler()==tp and bit.extract(ec:GetLinkedZone(tp),c:GetPreviousSequence())~=0
end
end
function c33701065.setcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c33701065.setcfilter,1,nil,tp,e:GetHandler())
end
function c33701065.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsCanAddCounter(0x1021,4) end
if chk==0 then return Duel.IsExistingTarget(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,0x1021,4) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil,0x1021,4)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,g,1,0x1021,4)
end
function c33701065.setop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x1021,4)
end
end
function c33701065.setcfilter2(c,tp,ec)
if c:IsLocation(LOCATION_MZONE) then
return c:IsSetCard(0x6440) and c:IsFaceup() and c:IsControler(tp) and ec:GetLinkedGroup():IsContains(c)
else
return c:IsPreviousSetCard(0x6440) and c:IsPreviousPosition(POS_FACEUP)
and c:GetPreviousControler()==tp and bit.extract(ec:GetLinkedZone(tp),c:GetPreviousSequence())~=0
end
end
function c33701065.pccon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c33701065.setcfilter2,1,nil,tp,e:GetHandler())
end
function c33701065.pcfilter(c)
return c:IsType(TYPE_PENDULUM) and c:IsSetCard(0x3440) and not c:IsForbidden()
end
function c33701065.pctg(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))
and Duel.IsExistingMatchingCard(c33701065.pcfilter,tp,LOCATION_DECK,0,1,nil) end
end
function c33701065.pcop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c33701065.pcfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.MoveToField(g:GetFirst(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
--小鸟 ~无悔的收获祭~
function c33701066.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33701066,0))
e3:SetCategory(CATEGORY_RECOVER)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_PZONE)
e3:SetCost(c33701066.recost)
e3:SetTarget(c33701066.retg)
e3:SetOperation(c33701066.reop)
c:RegisterEffect(e3)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c33701066.spcon)
c:RegisterEffect(e1)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701066,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c33701066.spcost)
e1:SetTarget(c33701066.sptg)
e1:SetOperation(c33701066.spop)
c:RegisterEffect(e1)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701066.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701066.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701066,2))
end
function c33701066.costfilter(c)
return c:IsSetCard(0x6440) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end
function c33701066.recost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701066.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c33701066.costfilter,tp,LOCATION_HAND,1,1,e:GetHandler())
e:SetLabel(g:GetFirst():GetLevel()*500)
Duel.DiscardHand(g,1,REASON_COST)
end
function c33701066.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(e:GetLabel())
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,e:GetLabel())
e:SetLabel(0)
end
function c33701066.reop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701066,3))
end
function c33701066.filter(c)
return c:IsFaceup() and c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701066.spcon(e,c)
if c==nil then return true end
return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 and
Duel.IsExistingMatchingCard(c33701066.filter,c:GetControler(),LOCATION_MZONE,0,1,nil)
end
function c33701066.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x6440) and c:IsType(TYPE_MONSTER)
end
function c33701066.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c33701066.cfilter,1,nil) end
local cg=Duel.SelectReleaseGroupEx(tp,c33701066.cfilter,1,1,nil)
Duel.Release(cg,REASON_COST)
end
function c33701066.spfilter(c,e,tp)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and not c:IsCode(33701066)and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c33701066.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33701066.spfilter,tp,LOCATION_GRAVE+LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_HAND)
end
function c33701066.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33701066.spfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--千早 ~怀念的收获祭~
function c33701067.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--code
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetValue(33700030)
c:RegisterEffect(e1)
--destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetDescription(aux.Stringid(33701067,0))
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetTarget(c33701067.destg)
e1:SetOperation(c33701067.desop)
c:RegisterEffect(e1)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701067.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701067.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701067,1))
end
function c33701067.desfilter(c)
return c:IsAbleToHand()
end
function c33701067.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand()
and Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>0
and Duel.IsExistingMatchingCard(c33701067.desfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,0,0)
Duel.SetChainLimit(c33701067.chlimit)
end
function c33701067.chlimit(e,ep,tp)
return tp==ep
end
function c33701067.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c33701067.desfilter,tp,LOCATION_ONFIELD,0,nil)
g:AddCard(e:GetHandler())
local og=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
if #g*#og==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=g:Select(tp,1,#og,nil)
local oc=Duel.SendtoHand(sg,REASON_EFFECT)
if oc==0 then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg2=og:Select(tp,oc,oc,nil)
Duel.SendtoHand(sg2,REASON_EFFECT)
end
\ No newline at end of file
--静流 ~约定的收获祭~
function c33701068.initial_effect(c)
--code
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetValue(33700043)
c:RegisterEffect(e1)
--atk
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c33701068.atkval)
c:RegisterEffect(e1)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c33701068.spcon1)
e1:SetTarget(c33701068.sptg1)
e1:SetOperation(c33701068.spop1)
c:RegisterEffect(e1)
--destroy drawn
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33701068,0))
e3:SetCategory(CATEGORY_TOGRAVE)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_HAND)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(c33701068.ddcon)
e3:SetCost(c33701068.ddcost)
e3:SetTarget(c33701068.ddtg)
e3:SetOperation(c33701068.ddop)
c:RegisterEffect(e3)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701068.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701068.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701068,1))
end
function c33701068.atkval(e,c)
return Duel.GetCounter(0,1,1,0x1021)*300
end
function c33701068.cfilter(c)
return c:IsFaceup() and c:GetCounter(0x1021)>0
end
function c33701068.spcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c33701068.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function c33701068.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33701068.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c33701068.ddcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DRAW
end
function c33701068.ddcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x1021,2,REASON_COST) end
Duel.RemoveCounter(tp,1,1,0x1021,2,REASON_COST)
end
function c33701068.ddfilter(c,tp)
return c:IsControler(1-tp) and c:IsPreviousLocation(LOCATION_DECK+LOCATION_GRAVE)
end
function c33701068.ddtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(c33701068.ddfilter,nil,tp)
if chk==0 then return g:GetCount()>0 end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,0)
end
function c33701068.ddop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=eg:Filter(c33701068.ddfilter,nil,tp)
if g:GetCount()>0 then
Duel.SendtoGrave(g,REASON_EFFECT)
end
end
\ No newline at end of file
--露西亚 ~决意的收获祭~
function c33701069.initial_effect(c)
--code
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetValue(33700044)
c:RegisterEffect(e1)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701069,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_REMOVE_COUNTER+0x1021)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetTarget(c33701069.sptg1)
e1:SetOperation(c33701069.spop1)
c:RegisterEffect(e1)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701069,1))
e1:SetCategory(CATEGORY_CONTROL)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c33701069.condition)
e1:SetCost(c33701069.cost)
e1:SetTarget(c33701069.target)
e1:SetOperation(c33701069.activate)
c:RegisterEffect(e1)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701069.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701069.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701069,2))
end
function c33701069.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33701069.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c33701069.condition(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
return tc:IsControler(1-tp) and not tc:IsPreviousLocation(LOCATION_HAND)
end
function c33701069.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x1021,3,REASON_COST) end
Duel.RemoveCounter(tp,1,1,0x1021,3,REASON_COST)
end
function c33701069.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return eg:GetFirst():IsCanBeEffectTarget(e) and eg:GetFirst():IsControlerCanBeChanged() end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,eg,1,0,0)
end
\ No newline at end of file
--朱音 ~日常的收获祭~
function c33701070.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--pendulum set
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_PZONE)
e2:SetCountLimit(1)
e2:SetCost(c33701070.cost)
e2:SetTarget(c33701070.pentg)
e2:SetOperation(c33701070.penop)
c:RegisterEffect(e2)
end
function c33701070.costfilter(c)
return c:IsSetCard(0x6440) and c:IsType(TYPE_MONSTER) and c:IsDiscardable()
end
function c33701070.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) or Duel.IsExistingMatchingCard(c33701070.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.PayLPCost(tp,1000)
Duel.DiscardHand(tp,c33701070.costfilter,1,1,REASON_COST+REASON_DISCARD)
end
function c33701070.penfilter(c)
return c:IsSetCard(0x3440) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c33701070.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701070.penfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c33701070.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g=Duel.SelectMatchingCard(tp,c33701070.penfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701070,0))
end
\ No newline at end of file
--咲夜 ~改写者的末路~
function c33701071.initial_effect(c)
c:EnableReviveLimit()
aux.EnablePendulumAttribute(c,false)
aux.AddXyzProcedure(c,nil,5,4,c33701071.ovfilter,aux.Stringid(33701071,0),3,c33701071.xyzop)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetRange(LOCATION_PZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c33701071.target)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetValue(c33701071.efilter)
c:RegisterEffect(e3)
--maintain
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetRange(LOCATION_PZONE)
e4:SetCountLimit(1)
e4:SetOperation(c33701071.mtop)
c:RegisterEffect(e4)
--cannot release
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_UNRELEASABLE_SUM)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_UNRELEASABLE_NONSUM)
c:RegisterEffect(e5)
--xyzlimit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
--redirect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCondition(c33701071.recon)
e3:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e3)
if not c33701071.global_check then
c33701071.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SUMMON_SUCCESS)
ge1:SetLabel(33701071)
ge1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
ge1:SetOperation(aux.sumreg)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
ge2:SetCode(EVENT_SPSUMMON_SUCCESS)
ge2:SetLabel(33701071)
Duel.RegisterEffect(ge2,0)
end
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701071.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701071.target(e,c)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701071.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer()
end
function c33701071.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701071,2))
end
function c33701071.ovfilter(c)
return c:IsFaceup() and c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701071.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,33701071)==0 end
Duel.RegisterFlagEffect(tp,33701071,RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetTarget(c33701071.pentg)
e1:SetOperation(c33701071.penop)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c33701071.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 c33701071.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 false end
local c=e:GetHandler()
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
function c33701071.recon(e)
return e:GetHandler():IsFaceup()
end
function c33701071.mtop(e,tp,eg,ep,ev,re,r,rp)
if Duel.CheckLPCost(tp,2000) and Duel.SelectYesNo(tp,aux.Stringid(33701071,1)) then
Duel.PayLPCost(tp,2000)
else
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end
end
\ No newline at end of file
--瑚太朗 ~重生的收获祭~
function c33701072.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,5,2,nil,nil,99)
c:EnableReviveLimit()
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701072,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c33701072.cost)
e1:SetTarget(c33701072.target)
e1:SetOperation(c33701072.operation)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701072,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c33701072.cost)
e2:SetTarget(c33701072.sptg)
e2:SetOperation(c33701072.spop)
c:RegisterEffect(e2)
--add
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701072,2))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCost(c33701072.cost)
e2:SetTarget(c33701072.addct)
e2:SetOperation(c33701072.addc)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701072.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701072.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701072,3))
end
function c33701072.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c33701072.filter(c,e,tp)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33701072.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c33701072.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c33701072.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33701072.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33701072.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c33701072.filter2(c,e,tp)
return c:IsSetCard(0x6440) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33701072.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_HAND) and chkc:IsControler(tp) and c33701072.filter2(chkc,e,tp) end
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingMatchingCard(c33701072.filter2,tp,LOCATION_HAND,0,2,nil,e,tp) end
local ct=math.min(4,(Duel.GetLocationCount(tp,LOCATION_MZONE)))
if Duel.GetFieldCard(tp,LOCATION_PZONE,0) and Duel.GetFieldCard(tp,LOCATION_PZONE,1) then ct=2 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33701072.filter2,tp,LOCATION_HAND,0,2,ct,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),tp,LOCATION_HAND)
end
function c33701072.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>3 and Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if g:GetCount()>ft then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
g=g:Select(tp,ft,ft,nil)
end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
function c33701072.addct(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,3,0,0x1021)
end
function c33701072.addc(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x1021,3)
end
end
\ No newline at end of file
--GUARDIAN 路易斯
function c33701073.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701073,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCondition(c33701073.spcon)
e1:SetTarget(c33701073.sptg)
e1:SetOperation(c33701073.spop)
c:RegisterEffect(e1)
--counter
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701073,1))
e2:SetCategory(CATEGORY_COUNTER)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND)
e2:SetCost(c33701073.ctcost)
e2:SetOperation(c33701073.ctop)
c:RegisterEffect(e2)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701073,2))
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCost(c33701073.descost)
e2:SetTarget(c33701073.destg)
e2:SetOperation(c33701073.desop)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701073.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701073.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701073,3))
end
function c33701073.spcon(e,tp,eg,ep,ev,re,r,rp)
local ec=eg:GetFirst()
return ep==tp and ec:IsSetCard(0x441)
end
function c33701073.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33701073.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)~=0 then
c:CompleteProcedure()
end
end
function c33701073.ctcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsDiscardable() end
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function c33701073.ctop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsCanAddCounter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,0x1021,3)
if g:GetCount()==0 then return end
for i=1,1 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local sg=g:Select(tp,1,1,nil)
sg:GetFirst():AddCounter(0x1021,3)
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701073,3))
end
function c33701073.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleasable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c33701073.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
end
function c33701073.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoGrave(tc,REASON_EFFECT)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701073,3))
end
end
\ No newline at end of file
--GUARDIAN的苦战
function c33701074.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--counter
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701074,0))
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE+PHASE_STANDBY)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1)
e1:SetTarget(c33701074.addct)
e1:SetOperation(c33701074.addc)
c:RegisterEffect(e1)
--to hand or grave
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701074,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE)
e1:SetCost(c33701074.cost)
e1:SetTarget(c33701074.target)
e1:SetOperation(c33701074.operation)
c:RegisterEffect(e1)
--counter
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701074,1))
e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c33701074.thcost)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetTarget(c33701074.cttg)
e2:SetOperation(c33701074.ctop)
c:RegisterEffect(e2)
end
function c33701074.addct(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1021)
end
function c33701074.addc(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x1021,1)
end
end
function c33701074.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x1021,2,REASON_COST) end
Duel.RemoveCounter(tp,1,1,0x1021,2,REASON_COST)
end
function c33701074.cfilter(c)
return c:IsAbleToDeck() or c:IsAbleToGrave()
end
function c33701074.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701074.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_ONFIELD)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_ONFIELD)
end
function c33701074.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(33701074,0))
local g=Duel.SelectMatchingCard(tp,c33701074.cfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
local tc=g:GetFirst()
if tc and tc:IsAbleToDeck() and (not tc:IsAbleToGrave() or Duel.SelectOption(tp,1190,1191)==0) then
Duel.SendtoDeck(tc,nil,1,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
else
Duel.SendtoGrave(tc,REASON_EFFECT)
end
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701074,0))
end
function c33701074.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function c33701074.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,g,1,0x1021,2)
end
function c33701074.ctop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x1021,2)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701074,0))
end
end
\ No newline at end of file
--救星的决意
function c33701075.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c33701075.cost)
e1:SetTarget(c33701075.target)
e1:SetOperation(c33701075.activate)
c:RegisterEffect(e1)
end
function c33701075.filter(c)
return c:IsFaceup() and c:IsSetCard(0x6440)
end
function c33701075.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c33701075.filter,1,nil) or Duel.IsCanRemoveCounter(tp,1,1,0x1021,2,REASON_COST) end
local g=Duel.SelectReleaseGroup(tp,c33701075.filter,1,1,nil)
Duel.Release(g,REASON_COST)
Duel.RemoveCounter(tp,1,1,0x1021,2,REASON_COST)
end
function c33701075.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end
function c33701075.activate(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
local cph = Duel.GetCurrentPhase()
local turn = {PHASE_STANDBY,PHASE_MAIN1,PHASE_BATTLE,PHASE_MAIN2,PHASE_END}
for _,ph in pairs(turn) do
if cph <= ph then
Duel.SkipPhase(Duel.GetTurnPlayer(),ph,RESET_PHASE+PHASE_END,1)
end
end
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701075,0))
end
\ No newline at end of file
--超自研的崩坏
function c33701076.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c33701076.cost)
e1:SetTarget(c33701076.target)
e1:SetOperation(c33701076.activate)
c:RegisterEffect(e1)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_GRAVE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c33701076.pentg)
e1:SetOperation(c33701076.penop)
c:RegisterEffect(e1)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_GRAVE)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e1:SetCost(aux.bfgcost)
e1:SetTarget(c33701076.sptg)
e1:SetOperation(c33701076.spop)
c:RegisterEffect(e1)
end
function c33701076.cfilter(c)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsAbleToRemoveAsCost()
end
function c33701076.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c33701076.cfilter,tp,LOCATION_GRAVE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c33701076.cfilter,tp,LOCATION_GRAVE,0,5,nil) and g:GetClassCount(Card.GetCode)>=5 end
local rg=Group.CreateGroup()
for i=1,5 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc=g:Select(tp,1,1,nil):GetFirst()
if tc then
rg:AddCard(tc)
g:Remove(Card.IsCode,nil,tc:GetCode())
end
end
Duel.Remove(rg,POS_FACEUP,REASON_COST)
end
function c33701076.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCLOCATION_ONFIELDATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,sg:GetCount(),0,0)
end
function c33701076.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.Destroy(sg,REASON_EFFECT)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701076,0))
end
function c33701076.setfilter1(c,tp)
return c:IsSetCard(0x3440) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
and Duel.IsExistingMatchingCard(c33701076.setfilter2,tp,LOCATION_DECK,0,1,nil,c:GetCode())
end
function c33701076.setfilter2(c,code)
return c:IsFaceup() and c:IsSetCard(0x3440) and not c:IsCode(code) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden()
end
function c33701076.tdfilter1(c)
return c:IsFaceup() and c:IsSetCard(0x3440) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c33701076.pentg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and c33701076.tdfilter1(chkc) end
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) and Duel.CheckLocation(tp,LOCATION_PZONE,1)
and Duel.IsExistingMatchingCard(c33701076.setfilter1,tp,LOCATION_REMOVED,0,1,nil,tp)
and Duel.IsExistingTarget(c33701076.tdfilter1,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c33701076.tdfilter1,tp,OCATION_GRAVE+LOCATION_REMOVED,0,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,2,0,0)
end
function c33701076.penop(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) or not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g1=Duel.SelectMatchingCard(tp,c33701076.setfilter1,tp,LOCATION_REMOVED,0,1,1,nil,tp)
local tc1=g1:GetFirst()
if not tc1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local g2=Duel.SelectMatchingCard(tp,c33701076.setfilter2,tp,LOCATION_REMOVED,0,1,1,nil,tc1:GetCode())
local tc2=g2:GetFirst()
if Duel.MoveToField(tc1,tp,tp,LOCATION_SZONE,POS_FACEUP,false) then
if Duel.MoveToField(tc2,tp,tp,LOCATION_SZONE,POS_FACEUP,false) then
tc2:SetStatus(STATUS_EFFECT_ENABLED,true)
end
tc1:SetStatus(STATUS_EFFECT_ENABLED,true)
end
end
function c33701076.tdfilter2(c)
return c:IsFaceup() and c:IsSetCard(0x441) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
end
function c33701076.filter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x441) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33701076.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c33701076.tdfilter2(chkc) and c33701076.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c33701076.filter,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil,e,tp) and Duel.IsExistingTarget(c33701076.tdfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,c33701076.tdfilter1,tp,OCATION_GRAVE+LOCATION_REMOVED,0,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,2,0,0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33701076.filter,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33701076.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 then
tc:AddCounter(0x1021,2)
end
end
\ No newline at end of file
--超自研的休日
function c33701077.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SUMMON)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c33701077.atktarget)
c:RegisterEffect(e2)
--activate (return)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701077,1))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCost(c33701077.thcost)
e1:SetTarget(c33701077.thtg1)
e1:SetOperation(c33701077.thop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c33701077.thtg2)
c:RegisterEffect(e2)
end
function c33701077.atktarget(e,c)
return not c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701077.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(33701077)==0 end
e:GetHandler():RegisterFlagEffect(33701077,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c33701077.thfilter(c)
return c:IsFaceup() and c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
and c:IsAbleToHand()
end
function c33701077.thtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_EXTRA) and chkc:IsControler(tp) and c33701077.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33701077.thfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c33701077.thfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c33701077.thtg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_EXTRA) and chkc:IsControler(tp) and c33701077.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33701077.thfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c33701077.thfilter,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c33701077.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701077,2))
end
end
\ No newline at end of file
--超自研的迟刻
function c33701078.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_TO_HAND)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetLabelObject(e)
e2:SetTarget(aux.TargetBoolFunction(Card.IsLocation,LOCATION_DECK))
e2:SetTarget(c33701078.atktarget)
c:RegisterEffect(e2)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_DRAW)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetRange(LOCATION_SZONE)
e2:SetLabelObject(e)
e2:SetTarget(c33701078.atktarget)
c:RegisterEffect(e2)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701078,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c33701078.thcon)
e2:SetTarget(c33701078.thtg)
e2:SetOperation(c33701078.thop)
c:RegisterEffect(e2)
end
function c33701078.atktarget(e,c,sump,sumtype,sumpos,targetp,se,re)
return not re:GetHandler():IsCode(33701078)
end
function c33701078.sdfilter(c)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701078.thcon(e)
return not Duel.IsExistingMatchingCard(c33701078.sdfilter,tp,LOCATION_HAND,0,1,nil)
end
function c33701078.thfilter(c)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsAbleToHand()
end
function c33701078.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701078.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33701078.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33701078.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701078,2))
end
end
\ No newline at end of file
--超自研的互助
function c33701079.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701079,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetRange(LOCATION_SZONE)
e2:SetCondition(c33701079.spcon)
e2:SetTarget(c33701079.sptg)
e2:SetOperation(c33701079.spop)
c:RegisterEffect(e2)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SUMMON)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c33701079.atktarget)
c:RegisterEffect(e2)
end
function c33701079.atktarget(e,c)
return not c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701079.cfilter(c,tp)
return c:IsFaceup() and c:GetSummonPlayer()==tp and c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701079.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c33701079.cfilter,1,nil,tp)
end
function c33701079.spfilter(c,e,tp)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c33701079.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33701079.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c33701079.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33701079.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--超自研的慵懒
function c33701080.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c33701080.atktarget)
c:RegisterEffect(e2)
--atk up
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701080,1))
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetHintTiming(TIMING_DAMAGE_STEP)
e2:SetCondition(c33701080.atkcon)
e2:SetCost(c33701080.atkcost)
e2:SetOperation(c33701080.atkop)
c:RegisterEffect(e2)
end
function c33701080.atktarget(e,c)
return not (c:IsLevel(5) or c:IsRank(5))and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701080.atkcon(e,tp,eg,ep,ev,re,r,rp)
local phase=Duel.GetCurrentPhase()
if phase~=PHASE_DAMAGE or Duel.IsDamageCalculated() then return false end
local tc=Duel.GetAttackTarget()
if not tc then return false end
if tc:IsControler(1-tp) then tc=Duel.GetAttacker() end
e:SetLabelObject(tc)
return tc:IsFaceup() and (tc:IsLevel(5) or tc:IsRank(5)) and tc:IsAttribute(ATTRIBUTE_EARTH) and tc:IsRelateToBattle()
end
function c33701080.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHandAsCost() end
Duel.SendtoHand(e:GetHandler(),nil,2,REASON_COST)
end
function c33701080.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
local tc=Duel.GetAttackTarget()
if not c:IsRelateToBattle() or not tc:IsRelateToBattle() then return end
if tc:IsRelateToBattle() then Duel.SendtoGrave(tc,REASON_EFFECT) end
end
\ No newline at end of file
--超自研的压力
function c33701081.initial_effect(c)
--Activate(summon)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_SUMMON)
e1:SetCondition(c33701081.condition1)
e1:SetCost(c33701081.cost)
e1:SetTarget(c33701081.target)
e1:SetOperation(c33701081.activate)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_FLIP_SUMMON)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EVENT_SPSUMMON)
c:RegisterEffect(e3)
--negate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c33701081.negcon)
e1:SetCost(c33701081.cost)
e1:SetTarget(c33701081.negtg)
e1:SetOperation(c33701081.negop)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701081,0))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c33701081.thcost)
e2:SetTarget(c33701081.thtg)
e2:SetOperation(c33701081.thop)
c:RegisterEffect(e2)
end
function c33701081.condition1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0
end
function c33701081.cfilter(c)
return c:IsFaceup() and c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
and c:IsAbleToHandAsCost()
end
function c33701081.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701081.cfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectMatchingCard(tp,c33701081.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoHand(g,nil,REASON_COST)
end
function c33701081.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,eg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,eg:GetCount(),0,0)
end
function c33701081.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateSummon(eg)
Duel.Destroy(eg,REASON_EFFECT)
if not e:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(c33701081.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c33701081.aclimit(e,re,tp)
return not re:GetHandler():IsCode(33701081) and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end
function c33701081.negcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev)
end
function c33701081.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function c33701081.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
if not e:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(c33701081.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c33701081.costfilter(c)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsDiscardable()
end
function c33701081.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701081.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,c33701081.costfilter,1,1,REASON_COST+REASON_DISCARD)
end
function c33701081.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c33701081.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
end
\ No newline at end of file
--Proto-Summoner 幼朱音
function c33701120.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(33701120,0))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetRange(LOCATION_PZONE)
e4:SetTarget(c33701120.sptg)
e4:SetOperation(c33701120.spop)
c:RegisterEffect(e4)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33701120,1))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,33701120)
e2:SetTarget(c33701120.destg)
e2:SetOperation(c33701120.desop)
c:RegisterEffect(e2)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701120.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701120.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701120,2))
end
function c33701120.spfilter2(c)
return c:IsFaceup() and c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH)
end
function c33701120.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c33701120.spfilter2(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingTarget(c33701120.spfilter2,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c33701120.spfilter2,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c33701120.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsImmuneToEffect(e) or tc:IsLevel(1) then return end
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(-1)
tc:RegisterEffect(e1)
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
function c33701120.desfilter(c)
return c:IsFaceup()
end
function c33701120.spfilter(c,e,tp)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end
function c33701120.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_PZONE) and chkc:IsControler(tp) and c33701120.desfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c33701120.desfilter,tp,LOCATION_PZONE,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33701120.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c33701120.desfilter,tp,LOCATION_PZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c33701120.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33701120.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_DEFENSE) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
end
end
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CHANGE_DAMAGE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1)
e3:SetValue(c33701120.val)
e3:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3,tp)
end
function c33701120.val(e,re,dam,r,rp,rc)
if bit.band(r,REASON_BATTLE)~=0 then
return math.ceil(dam/2)
else return dam end
end
--Proto-Summoner 幼千早
function c33701121.initial_effect(c)
--pendulum summon
aux.EnablePendulumAttribute(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701121,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCondition(c33701121.spcon1)
e1:SetTarget(c33701121.sptg1)
e1:SetOperation(c33701121.spop1)
c:RegisterEffect(e1)
--code
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e1:SetValue(33700030)
c:RegisterEffect(e1)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33701121,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33701121.thtg)
e1:SetOperation(c33701121.thop)
c:RegisterEffect(e1)
--spsummon bgm
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e8:SetCode(EVENT_SPSUMMON_SUCCESS)
e8:SetOperation(c33701121.sumsuc)
c:RegisterEffect(e8)
local e9=e8:Clone()
e9:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e9)
end
function c33701121.sumsuc(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(33701121,0))
end
function c33701121.thfilter(c)
return c:IsLevel(5) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsAbleToHand()
end
function c33701121.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33701121.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33701121.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33701121.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c33701121.spcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttackTarget() and Duel.GetAttackTarget():IsControler(tp)
end
function c33701121.spfilter(c,e,tp)
return (c:IsLocation(LOCATION_EXTRA) or c:IsFaceup()) and c:IsCode(33700036,33701071) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK)
end
function c33701121.sptg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA) and chkc:IsControler(tp) and c33701121.spfilter(chkc,e,tp) end
if chk==0 then return c:IsAbleToRemove()
and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingTarget(c33701121.spfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33701121.spfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33701121.spop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.Remove(c,POS_FACEUP,REASON_EFFECT)~=0
and c:IsLocation(LOCATION_REMOVED) and tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK)
end
end
\ No newline at end of file
......@@ -2,7 +2,8 @@
#Nemoma 337 0x440-0x44f
!setname 0x440 篝(Kagari
!setname 0x441 GUARDIAN(守护者)
!setname 0x442 动物朋友(Anifriends
!counter 0x442 太阳之道指示物 (Way of the Sun
......@@ -32,4 +33,6 @@
!counter 0x144b 虚空指示物(Void Counter
!setname 0x144d 残星倩影(Starspirit
\ No newline at end of file
!setname 0x144d 残星倩影(Starspirit
!setname 0x144e 晦空士(Sepialife
\ No newline at end of file
This diff is collapsed.
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