Commit 97db31d4 authored by Tachibana's avatar Tachibana

1145141919810

parent 822da411
Pipeline #15066 passed with stage
in 9 minutes and 33 seconds
No preview for this file type
--传说的羁绊
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m=33350001
local cm=_G["c"..m]
function cm.initial_effect(c)
local e2=rsef.I(c,{m,0},nil,"sp","tg",LOCATION_GRAVE,nil,aux.bfgcost,rstg.target2(cm.fun,rsop.list(cm.xyzfilter,nil,LOCATION_MZONE)),cm.xyzop)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
cm.setname="TaleSouls"
function cm.fun(g,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_GRAVE)
end
function cm.xyzfilter(c,e,tp)
return c.setname=="TaleSouls" and c:IsType(TYPE_XYZ) and c:GetOverlayCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
function cm.xyzop(e,tp)
rsof.SelectHint(tp,HINTMSG_SELF)
local tc=Duel.SelectMatchingCard(tp,cm.xyzfilter,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
if not tc then return end
Duel.HintSelection(rsgf.Mix2(tc))
if not tc:RemoveOverlayCard(tp,1,1,REASON_EFFECT) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(tc,nseq)
local tc2=Duel.GetOperatedGroup():GetFirst()
if tc2 and tc2:IsType(TYPE_MONSTER) and tc2:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
rssf.SpecialSummon(tc2)
end
end
function cm.cfilter3(c,tp)
return cm.cfilter(c) and c:IsControler(tp)
end
function cm.rmcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetCount()==1 and eg:IsExists(cm.cfilter3,1,nil,tp)
end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemove() and eg:GetFirst():CheckRemoveOverlayCard(tp,1,REASON_EFFECT) end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,c,1,tp,0)
end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) or Duel.Remove(c,POS_FACEUP,REASON_EFFECT)<=0 or not tc:IsRelateToEffect(e) or not tc:CheckRemoveOverlayCard(tp,1,REASON_EFFECT) then return end
tc:RemoveOverlayCard(tp,1,1,REASON_COST)
local tc2=Duel.GetOperatedGroup():GetFirst()
if tc2:IsType(TYPE_MONSTER) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and tc2:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.SpecialSummon(tc2,0,tp,tp,false,false,POS_FACEUP)
end
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function cm.cfilter(c)
return c:IsFaceup() and c.setname=="TaleSouls"
end
function cm.cfilter2(c)
return c:IsCode(33351001) and c:IsAbleToGraveAsCost()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter2,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter2,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function cm.filter(c,e,tp)
return c:IsCode(33350002) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function cm.activate(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,cm.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--传说之魂 无魂
function c33350002.initial_effect(c)
--summon with 1 tribute
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350002,0))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetCondition(c33350002.otcon)
e1:SetOperation(c33350002.otop)
e1:SetValue(SUMMON_TYPE_ADVANCE)
c:RegisterEffect(e1)
--extra summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e2:SetRange(LOCATION_HAND)
e2:SetTargetRange(LOCATION_HAND,0)
e2:SetTarget(c33350002.extg)
c:RegisterEffect(e2)
--copy effect
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33350002,1))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,0x1e0)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetCost(c33350002.copycost)
e3:SetTarget(c33350002.copytg)
e3:SetOperation(c33350002.copyop)
c:RegisterEffect(e3)
end
c33350002.setname="TaleSouls"
function c33350002.copycost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetFlagEffect(41209827)==0 end
e:GetHandler():RegisterFlagEffect(41209827,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function c33350002.copyfilter(c)
return c:IsType(TYPE_MONSTER) and c.setname=="TaleSouls" and c:IsLevel(1)
end
function c33350002.copytg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c33350002.copyfilter(chkc) and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(c33350002.copyfilter,tp,LOCATION_GRAVE,0,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c33350002.copyfilter,tp,LOCATION_GRAVE,0,1,1,c)
end
function c33350002.copyop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc and c:IsRelateToEffect(e) and c:IsFaceup() and tc:IsRelateToEffect(e) and (tc:IsFaceup() or tc:IsLocation(LOCATION_GRAVE)) then
local code=tc:GetOriginalCodeRule()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(code)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e11:SetCode(EFFECT_CHANGE_LEVEL)
e11:SetValue(tc:GetLevel())
e11:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e11)
if not tc:IsType(TYPE_TRAPMONSTER) then
local cid=c:CopyEffect(code,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,1)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33350002,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCountLimit(1)
e3:SetRange(LOCATION_MZONE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e3:SetLabelObject(e1)
e3:SetLabel(cid)
e3:SetOperation(c33350002.rstop)
c:RegisterEffect(e3)
end
end
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_PIERCE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
function c33350002.rstop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local cid=e:GetLabel()
if cid~=0 then c:ResetEffect(cid,RESET_COPY) end
local e1=e:GetLabelObject()
e1:Reset()
Duel.HintSelection(Group.FromCards(c))
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c33350002.extg(e,c)
return c==e:GetHandler()
end
function c33350002.otfilter(c)
return c.setname=="TaleSouls" and c:IsType(TYPE_MONSTER) and c:IsReleasable()
end
function c33350002.otcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg1=Duel.GetMatchingGroup(c33350002.otfilter,tp,LOCATION_MZONE,0,nil)
local mg2=Duel.GetMatchingGroup(c33350002.otfilter,tp,LOCATION_HAND,0,c)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg1) and mg2:GetCount()>0
end
function c33350002.otop(e,tp,eg,ep,ev,re,r,rp,c)
local mg1=Duel.GetMatchingGroup(c33350002.otfilter,tp,LOCATION_MZONE,0,nil)
local mg2=Duel.GetMatchingGroup(c33350002.otfilter,tp,LOCATION_HAND,0,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg1=mg2:Select(tp,1,1,nil)
local sg2=Duel.SelectTribute(tp,c,1,1,mg1)
sg1:Merge(sg2)
c:SetMaterial(sg1)
Duel.Release(sg1,REASON_SUMMON+REASON_MATERIAL)
end
\ No newline at end of file
--传说的仁慈
function c33350004.initial_effect(c)
--Activate(summon)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_SUMMON)
e1:SetCondition(c33350004.condition)
e1:SetTarget(c33350004.target)
e1:SetOperation(c33350004.activate)
c:RegisterEffect(e1)
local e3=e1:Clone()
e3:SetCode(EVENT_SPSUMMON)
c:RegisterEffect(e3)
--spsummon
local e11=Effect.CreateEffect(c)
e11:SetDescription(aux.Stringid(33350004,0))
e11:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOKEN)
e11:SetType(EFFECT_TYPE_ACTIVATE)
e11:SetProperty(EFFECT_FLAG_DELAY)
e11:SetCode(EVENT_DESTROYED)
e11:SetCondition(c33350004.condition2)
e11:SetTarget(c33350004.target2)
e11:SetOperation(c33350004.activate2)
c:RegisterEffect(e11)
local e21=e11:Clone()
e21:SetCode(EVENT_CHAINING)
e21:SetCondition(c33350004.condition3)
c:RegisterEffect(e21)
end
c33350004.setname="TaleSouls"
function c33350004.target2(e,tp,eg,ep,ev,re,r,rp,chk)
local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
if chk==0 then return (not Duel.IsPlayerAffectedByEffect(tp,59822133) or ft==1)
and ft>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,33350003,0,0x4011,800,1000,1,RACE_PLANT,ATTRIBUTE_DARK,POS_FACEUP,1-tp) end
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,4,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,4,0,0)
end
function c33350004.activate2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(1-tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local ft=Duel.GetLocationCount(1-tp,LOCATION_MZONE)
if ft<=0 or (Duel.IsPlayerAffectedByEffect(tp,59822133) and ft>1) then return end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,33350003,0,0x4011,800,1000,1,RACE_PLANT,ATTRIBUTE_DARK,POS_FACEUP,1-tp) then return end
for i=1,ft do
local token=Duel.CreateToken(tp,33350003)
Duel.SpecialSummonStep(token,0,tp,1-tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
--token:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
--token:RegisterEffect(e2)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
--token:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
token:RegisterEffect(e5)
local e6=e1:Clone()
e6:SetCode(EFFECT_UNRELEASABLE_NONSUM)
--token:RegisterEffect(e6)
end
Duel.SpecialSummonComplete()
end
function c33350004.condition3(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(c33350004.cfilter3,1,nil,tp)
end
function c33350004.cfilter3(c,tp)
return c:IsType(TYPE_MONSTER) and c.setname=="TaleSouls" and c:IsControler(tp) and c:IsFaceup()
end
function c33350004.cfilter2(c,tp)
return c:IsType(TYPE_MONSTER) and c.setname=="TaleSouls" and c:GetPreviousControler()==tp and c:IsPreviousPosition(POS_FACEUP)
and c:IsPreviousLocation(LOCATION_MZONE)
end
function c33350004.condition2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c33350004.cfilter2,1,nil,tp)
end
function c33350004.filter(c)
return c:IsAttackAbove(2000) and c:IsAbleToRemove() and c:GetSummonPlayer()~=tp
end
function c33350004.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0 and eg:IsExists(c33350004.filter,1,nil) and Duel.IsExistingMatchingCard(c33350004.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c33350004.cfilter(c)
return c:IsFaceup() and c.setname=="TaleSouls"
end
function c33350004.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=eg:Filter(c33350004.filter,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,g:GetCount(),0,0)
end
function c33350004.activate(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c33350004.filter,nil)
Duel.NegateSummon(g)
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
--审判长廊
function c33350005.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:SetTarget(c33350005.target)
e1:SetOperation(c33350005.activate)
c:RegisterEffect(e1)
--ascasc
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33350005,0))
e2:SetCategory(CATEGORY_TOKEN+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1)
e2:SetCost(c33350005.tkcost)
e2:SetTarget(c33350005.tktg)
e2:SetOperation(c33350005.tkop)
c:RegisterEffect(e2)
--damage reduce
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e6:SetRange(LOCATION_FZONE)
e6:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e6:SetCondition(c33350005.rdcon)
e6:SetOperation(c33350005.rdop)
c:RegisterEffect(e6)
--immune
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_FZONE)
e3:SetCondition(c33350005.econ)
e3:SetValue(c33350005.efilter)
c:RegisterEffect(e3)
end
function c33350005.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c33350005.econ(e)
return Duel.IsExistingMatchingCard(c33350005.cccfilter,e:GetHandlerPlayer(),0,LOCATION_MZONE,1,nil)
end
function c33350005.cccfilter(c)
return c:IsFaceup() and c:IsCode(33350003)
end
function c33350005.cfilter(c)
return c.setname=="TaleSouls" and c:IsType(TYPE_MONSTER) and c:IsAbleToGraveAsCost()
end
function c33350005.tkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33350005.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c33350005.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c33350005.tktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE,tp)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,33350003,0,0x4011,800,1000,1,RACE_PLANT,ATTRIBUTE_DARK,POS_FACEUP_ATTACK,1-tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0)
end
function c33350005.tkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(1-tp,LOCATION_MZONE,tp)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33350003,0,0x4011,800,1000,1,RACE_PLANT,ATTRIBUTE_DARK,POS_FACEUP_ATTACK,1-tp) then
local token=Duel.CreateToken(tp,33350003)
if Duel.SpecialSummon(token,0,tp,1-tp,false,false,POS_FACEUP_ATTACK)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
--token:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
--token:RegisterEffect(e2)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
--token:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
token:RegisterEffect(e5)
local e6=e1:Clone()
e6:SetCode(EFFECT_UNRELEASABLE_NONSUM)
--token:RegisterEffect(e6)
end
end
end
function c33350005.rdcon(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
local tc2=tc:GetBattleTarget()
return tc2 and ep==tp and tc2.setname=="TaleSouls" and tc:IsAttackPos()
end
function c33350005.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev/2)
end
function c33350005.filter(c)
return c.setname=="TaleSouls" and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c33350005.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33350005.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33350005.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c33350005.filter,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
\ No newline at end of file
--传说的救赎
function c33350006.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DESTROY+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c33350006.target)
e1:SetOperation(c33350006.activate)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33350006,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c33350006.spcon)
e2:SetCost(c33350006.spcost)
e2:SetTarget(c33350006.sptg)
e2:SetOperation(c33350006.spop)
c:RegisterEffect(e2)
end
c33350006.setname="TaleSouls"
function c33350006.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():GetControler()~=tp and Duel.GetAttackTarget()==nil
end
function c33350006.spcost(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 c33350006.spfilter(c,e,tp,atk)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) and c:IsType(TYPE_MONSTER) and c.setname=="TaleSouls"
end
function c33350006.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c33350006.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c33350006.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33350006.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),tp,LOCATION_GRAVE)
end
function c33350006.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.BreakEffect()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_DISABLE_EFFECT)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e4)
end
end
function c33350006.cfilter(c,tp)
return c:IsFaceup() and ((c:IsControler(tp) and c.setname=="TaleSouls") or (c:IsControler(1-tp) and c:IsType(TYPE_TOKEN)))
end
function c33350006.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and c33350006.cfilter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c33350006.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c33350006.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
end
function c33350006.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 then
local b1=Duel.IsPlayerCanDraw(tp,1)
local b2=Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil)
if not b1 and not b2 then return end
if not Duel.SelectYesNo(tp,aux.Stringid(33350006,0)) then return end
if b1 and (not b2 or not Duel.SelectYesNo(tp,aux.Stringid(33350006,1))) then
Duel.Draw(tp,1,REASON_EFFECT)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,nil,tp,0,0xc,1,1,nil)
Duel.HintSelection(dg)
Duel.Destroy(dg,REASON_EFFECT)
end
end
end
\ No newline at end of file
--传说之魂 绝心
function c33350007.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,1,3)
c:EnableReviveLimit()
--effect
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(33350007,1))
e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetCondition(c33350007.condition)
e2:SetCost(c33350007.cost)
e2:SetOperation(c33350007.operation)
c:RegisterEffect(e2)
end
c33350007.setname="TaleSouls"
function c33350007.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,33351001)
end
function c33350007.cfilter(c)
return c:IsFaceup() and c:IsAttackAbove(1) and c:IsAbleToRemoveAsCost()
end
function c33350007.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33350007.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=Duel.SelectMatchingCard(tp,c33350007.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
e:SetLabel(rg:GetFirst():GetAttack())
Duel.Remove(rg,POS_FACEUP,REASON_COST)
end
function c33350007.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
local atk=c:GetBaseAttack()+e:GetLabel()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
end
--Asriel Drummer
function c33350008.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,1,5,c33350008.ovfilter,aux.Stringid(33350008,0),99,nil)
c:EnableReviveLimit()
--atk
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_UPDATE_ATTACK)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_MZONE)
e0:SetValue(c33350008.atkval)
c:RegisterEffect(e0)
--direct attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e1)
--unsadsad
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e2:SetValue(1)
c:RegisterEffect(e2)
--indes
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_REMOVE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(1)
c:RegisterEffect(e3)
--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)
end
function c33350008.atkfilter(c)
return c:GetAttack()>=0
end
function c33350008.atkval(e,c)
local g=e:GetHandler():GetOverlayGroup():Filter(c33350008.atkfilter,nil)
return g:GetSum(Card.GetAttack)
end
function c33350008.ovfilter(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ) and c:IsRank(1) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND)
end
\ No newline at end of file
--传说之魂 真诚
function c33350009.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,1,2,nil,nil,99)
c:EnableReviveLimit()
--strerara
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_POSITION)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1)
e5:SetCondition(c33350009.con)
e5:SetOperation(c33350009.op)
c:RegisterEffect(e5)
--sda
local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_DRAW)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_DAMAGE_STEP_END)
e6:SetCondition(c33350009.drcon)
e6:SetOperation(c33350009.drop)
c:RegisterEffect(e6)
end
c33350009.setname="TaleSouls"
function c33350009.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,33350015)
end
function c33350009.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,33350009)
Duel.Draw(tp,1,REASON_EFFECT)
end
function c33350009.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c33350009.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=Duel.GetMatchingGroupCount(nil,tp,0,LOCATION_MZONE,nil)
if ct>0 then
Duel.Hint(HINT_CARD,0,33350009)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(ct)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
--传说之魂 英勇
function c33350010.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,c33350010.xyzfilter,1,3)
c:EnableReviveLimit()
--remove
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350010,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c33350010.macon)
e1:SetTarget(c33350010.matg)
e1:SetOperation(c33350010.maop)
c:RegisterEffect(e1)
--negate
local e11=Effect.CreateEffect(c)
e11:SetDescription(aux.Stringid(33350010,4))
e11:SetCategory(CATEGORY_NEGATE+CATEGORY_POSITION)
e11:SetType(EFFECT_TYPE_QUICK_O)
e11:SetCode(EVENT_CHAINING)
e11:SetCountLimit(1)
e11:SetRange(LOCATION_MZONE)
e11:SetCost(c33350010.discost)
e11:SetCondition(c33350010.discon)
e11:SetTarget(c33350010.distg)
e11:SetOperation(c33350010.disop)
c:RegisterEffect(e11)
end
c33350010.setname="TaleSouls"
function c33350010.discost(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 c33350010.discon(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return bit.band(loc,LOCATION_MZONE)~=0
and re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED)
end
function c33350010.distg(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)
end
function c33350010.disop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if Duel.NegateActivation(ev) and rc:IsRelateToEffect(re) and rc:IsCanTurnSet() then
Duel.ChangePosition(rc,POS_FACEDOWN_DEFENSE)
end
end
function c33350010.xyzfilter(c)
return c.setname=="TaleSouls"
end
function c33350010.ccfilter(c,tp)
return c:IsControler(tp) or (c:IsAbleToChangeControler() and c:IsControler(1-tp) and c:IsOnField()) or not c:IsOnField()
end
function c33350010.macon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_XYZ) and c:GetOverlayGroup():IsExists(Card.IsCode,1,nil,33350018)
end
function c33350010.matg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33350010.ccfilter,tp,0,0x1e,1,c,tp) end
end
function c33350010.maop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local g1=Duel.GetMatchingGroup(c33350010.ccfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c,tp)
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(c33350010.ccfilter),tp,LOCATION_GRAVE,LOCATION_GRAVE,nil,tp)
local g3=Duel.GetMatchingGroup(c33350010.ccfilter,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil,tp)
local sg=Group.CreateGroup()
if g1:GetCount()>0 and ((g2:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(33350010,1))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local sg1=g1:Select(tp,1,1,nil)
Duel.HintSelection(sg1)
sg:Merge(sg1)
end
if g2:GetCount()>0 and ((sg:GetCount()==0 and g3:GetCount()==0) or Duel.SelectYesNo(tp,aux.Stringid(33350010,2))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local sg2=g2:Select(tp,1,1,nil)
Duel.HintSelection(sg2)
sg:Merge(sg2)
end
if g3:GetCount()>0 and (sg:GetCount()==0 or Duel.SelectYesNo(tp,aux.Stringid(33350010,3))) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local sg3=g3:Select(tp,1,1,nil)
Duel.HintSelection(sg3)
sg:Merge(sg3)
end
local og=sg:Filter(aux.NOT(Card.IsImmuneToEffect),nil,e)
if og:GetCount()>0 then
Duel.Overlay(c,og)
end
end
\ No newline at end of file
--传说之魂 无心
function c33350011.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,c33350011.xyzfilter,1,2,nil,nil,99)
c:EnableReviveLimit()
--code
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CHANGE_CODE)
e2:SetRange(LOCATION_OVERLAY)
e2:SetValue(33350002)
c:RegisterEffect(e2)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350011,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_BATTLE_DESTROYING)
e1:SetCondition(c33350011.condition)
e1:SetTarget(c33350011.target)
e1:SetOperation(c33350011.operation)
c:RegisterEffect(e1)
--xxxxxxxxsummon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33350011,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCondition(c33350011.spcon)
e3:SetTarget(c33350011.sptg)
e3:SetOperation(c33350011.spop)
c:RegisterEffect(e3)
end
c33350011.setname="TaleSouls"
function c33350011.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP)
end
function c33350011.filter(c,e,tp)
return c:IsCode(33350012) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33350011.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCountFromEx(tp)>0
and Duel.IsExistingMatchingCard(c33350011.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c33350011.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCountFromEx(tp)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c33350011.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0 and c:IsRelateToEffect(e) then
Duel.Overlay(tc,Group.FromCards(c))
end
end
function c33350011.xyzfilter(c)
return c.setname=="TaleSouls"
end
function c33350011.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsRelateToBattle() and c:GetBattleTarget():IsType(TYPE_MONSTER) and c:GetOverlayGroup():IsExists(Card.IsCode,1,nil,33350002)
end
function c33350011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,tp,0)
end
function c33350011.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.GetLocationCount(1-tp,LOCATION_MZONE,tp)<=0 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,33350003,0,0x4011,800,1000,1,RACE_PLANT,ATTRIBUTE_DARK,POS_FACEUP_ATTACK,1-tp) then
local token=Duel.CreateToken(tp,33350003)
if Duel.SpecialSummon(token,0,tp,1-tp,false,false,POS_FACEUP_ATTACK)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
--token:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
--token:RegisterEffect(e2)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
--token:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
token:RegisterEffect(e5)
local e6=e1:Clone()
e6:SetCode(EFFECT_UNRELEASABLE_NONSUM)
--token:RegisterEffect(e6)
end
end
end
--传说之魂 逐梦
function c33350012.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,c33350012.xyzfilter,1,3,nil,nil,99)
c:EnableReviveLimit()
--actlimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetValue(c33350012.aclimit)
e2:SetCondition(c33350012.actcon)
c:RegisterEffect(e2)
--cannot release
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_RELEASE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,1)
e1:SetTarget(c33350012.rellimit)
c:RegisterEffect(e1)
--cannot direct attack
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCondition(c33350012.con)
e3:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
c:RegisterEffect(e3)
--attack all
local e4=Effect.CreateEffect(c)
e4:SetCondition(c33350012.con)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_ATTACK_ALL)
e4:SetValue(1)
c:RegisterEffect(e4)
--ATK Up
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_ATKCHANGE)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_BATTLE_DESTROYING)
e5:SetCondition(c33350012.con2)
e5:SetOperation(c33350012.atkop)
c:RegisterEffect(e5)
end
--c33350012.setname="TaleSouls"
function c33350012.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
if c33350012.con(e,tp,eg,ep,ev,re,r,rp) and aux.bdocon(e,tp,eg,ep,ev,re,r,rp) and bc:IsPreviousPosition(POS_FACEUP_ATTACK) and bc:IsAttackAbove(1) then
e:SetLabel(bc:GetAttack())
return true
else return false
end
end
function c33350012.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() then
local atk=c:GetBaseAttack()+e:GetLabel()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
end
function c33350012.con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,33350002)
end
function c33350012.xyzfilter(c)
return c.setname=="TaleSouls"
end
function c33350012.rellimit(e,c,tp,sumtp)
return c==e:GetHandler()
end
function c33350012.aclimit(e,re,tp)
return not re:GetHandler():IsImmuneToEffect(e)
end
function c33350012.actcon(e)
return Duel.GetAttacker()==e:GetHandler() or Duel.GetAttackTarget()==e:GetHandler()
end
--传说之魂 伪魂
function c33350013.initial_effect(c)
--code
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_CHANGE_CODE)
e2:SetRange(LOCATION_OVERLAY)
e2:SetValue(33350002)
c:RegisterEffect(e2)
--atkup
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(c33350013.atkval)
c:RegisterEffect(e1)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetCondition(c33350013.atkcon)
e3:SetOperation(c33350013.atkop)
c:RegisterEffect(e3)
end
c33350013.setname="TaleSouls"
function c33350013.atkcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_SYNCHRO or r==REASON_XYZ or r==REASON_LINK or r==REASON_FUSION
end
function c33350013.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c33350013.atkval2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c33350013.atkval2(e,c)
return Duel.GetMatchingGroup(c33350013.atkfilter,c:GetControler(),LOCATION_GRAVE,0,nil):GetClassCount(Card.GetCode)*300
end
function c33350013.atkfilter(c)
return c:IsType(TYPE_MONSTER) and c.setname=="TaleSouls"
end
function c33350013.atkval(e,c)
return Duel.GetMatchingGroup(c33350013.atkfilter,c:GetControler(),LOCATION_GRAVE,0,nil):GetClassCount(Card.GetCode)*500
end
\ No newline at end of file
--传说之魂 正义
function c33350014.initial_effect(c)
--to defense
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350014,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33350014.potg)
e1:SetOperation(c33350014.poop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--sdasd
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33350014,1))
e3:SetCategory(CATEGORY_COUNTER)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_DAMAGE_STEP_END)
e3:SetTarget(c33350014.tg)
e3:SetOperation(c33350014.op)
c:RegisterEffect(e3)
--direct attack
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_DIRECT_ATTACK)
e4:SetCondition(c33350014.con)
c:RegisterEffect(e4)
end
c33350014.setname="TaleSouls"
function c33350014.con(e)
return Duel.IsExistingMatchingCard(c33350014.ccfilter,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil)
end
function c33350014.ccfilter(c)
return c:IsFaceup() and c:IsCode(33351001)
end
function c33350014.xyzfilter(c,mg)
return c:IsXyzSummonable(mg)
end
function c33350014.cfilter(c)
return not c:IsStatus(STATUS_BATTLE_DESTROYED)
end
function c33350014.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(c33350014.cfilter,tp,LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c33350014.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,mg) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c33350014.op(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetMatchingGroup(c33350014.cfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c33350014.xyzfilter,tp,LOCATION_EXTRA,0,nil,mg)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=g:Select(tp,1,1,nil)
Duel.XyzSummon(tp,tg:GetFirst(),nil)
end
end
function c33350014.potg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAttackPos() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c33350014.poop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsAttackPos() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
end
end
\ No newline at end of file
--传说之魂 诚信
function c33350015.initial_effect(c)
--to defense
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350015,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33350015.potg)
e1:SetOperation(c33350015.poop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--act limit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1)
e3:SetCondition(c33350015.con)
e3:SetValue(c33350015.aclimit)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetCondition(c33350015.indcon)
e4:SetOperation(c33350015.indop)
c:RegisterEffect(e4)
end
c33350015.setname="TaleSouls"
function c33350015.indcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function c33350015.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350015,1))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c33350015.ccfilter(c)
return c:IsFaceup() and c:IsCode(33351001)
end
function c33350015.con(e)
return Duel.IsExistingMatchingCard(c33350015.ccfilter,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil)
end
function c33350015.potg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAttackPos() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c33350015.poop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsAttackPos() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
end
end
function c33350015.aclimit(e,re,tp)
return re:GetHandler():IsLocation(LOCATION_HAND) and not re:GetHandler():IsImmuneToEffect(e)
end
--传说之魂 诚信
function c33350016.initial_effect(c)
--to defense
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350016,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33350016.potg)
e1:SetOperation(c33350016.poop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--act limit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_CANNOT_ACTIVATE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1)
e3:SetCondition(c33350016.con)
e3:SetValue(c33350016.aclimit)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetCondition(c33350016.indcon)
e4:SetOperation(c33350016.indop)
c:RegisterEffect(e4)
end
c33350016.setname="TaleSouls"
function c33350016.indcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function c33350016.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350016,1))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c33350016.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c33350016.efilter(e,te)
return te:IsActiveType(TYPE_TRAP+TYPE_SPELL)
end
function c33350016.ccfilter(c)
return c:IsFaceup() and c:IsCode(33351001)
end
function c33350016.con(e)
return Duel.IsExistingMatchingCard(c33350016.ccfilter,e:GetHandlerPlayer(),LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil)
end
function c33350016.potg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAttackPos() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c33350016.poop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsAttackPos() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
end
end
function c33350016.aclimit(e,re,tp)
return re:GetHandler():IsLocation(LOCATION_GRAVE) and not re:GetHandler():IsImmuneToEffect(e)
end
--传说之魂 毅力
function c33350017.initial_effect(c)
--to defense
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350017,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33350017.potg)
e1:SetOperation(c33350017.poop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--cannot be target
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c33350017.tgcon)
e4:SetValue(aux.imval1)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetValue(c33350017.efilter)
c:RegisterEffect(e5)
--special summon
local e11=Effect.CreateEffect(c)
e11:SetDescription(aux.Stringid(33350017,1))
e11:SetProperty(EFFECT_FLAG_DELAY)
e11:SetCategory(CATEGORY_SPECIAL_SUMMON)
e11:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e11:SetRange(LOCATION_MZONE)
e11:SetCode(EVENT_CHAIN_SOLVING)
e11:SetCountLimit(2,33350017)
e11:SetCondition(c33350017.spcon)
e11:SetTarget(c33350017.sptg)
e11:SetOperation(c33350017.spop)
c:RegisterEffect(e11)
end
c33350017.setname="TaleSouls"
function c33350017.spcon(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp
end
function c33350017.spfilter(c,e,tp)
return c.setname=="TaleSouls" and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP)
end
function c33350017.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsStatus(STATUS_CHAINING)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c33350017.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 c33350017.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c33350017.spfilter),tp,LOCATION_GRAVE+LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 then
local sc=g:GetFirst()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e2,true)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_ATTACK_FINAL)
e3:SetValue(0)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e3,true)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_SET_DEFENSE_FINAL)
e4:SetValue(0)
e4:SetReset(RESET_EVENT+RESETS_STANDARD)
sc:RegisterEffect(e4,true)
end
end
function c33350017.efilter(e,te)
return e:GetHandlerPlayer()~=te:GetHandlerPlayer()
end
function c33350017.tgfilter(c)
return c:IsFaceup() and c.setname=="TaleSouls"
end
function c33350017.tgcon(e)
return Duel.IsExistingMatchingCard(c33350017.tgfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,e:GetHandler())
end
function c33350017.potg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAttackPos() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c33350017.poop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsAttackPos() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
end
end
--传说之魂 勇敢
function c33350018.initial_effect(c)
--to defense
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350018,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33350018.potg)
e1:SetOperation(c33350018.poop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33350018,1))
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCountLimit(1,33350018)
e3:SetRange(LOCATION_MZONE)
e3:SetCost(c33350018.drcost)
e3:SetTarget(c33350018.drtg)
e3:SetOperation(c33350018.drop)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_BE_MATERIAL)
e4:SetCondition(c33350018.indcon)
e4:SetOperation(c33350018.indop)
c:RegisterEffect(e4)
end
c33350018.setname="TaleSouls"
function c33350018.indcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ
end
function c33350018.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350018,1))
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetRange(LOCATION_MZONE)
e1:SetOwnerPlayer(rc:GetControler())
e1:SetValue(c33350018.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true)
end
function c33350018.efilter(e,te)
return te:IsActiveType(TYPE_MONSTER) and e:GetOwnerPlayer()~=te:GetOwnerPlayer()
end
function c33350018.cfilter(c)
return c.setname=="TaleSouls" and not c:IsPublic()
end
function c33350018.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33350018.cfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,c33350018.cfilter,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function c33350018.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c33350018.drop(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)
end
function c33350018.potg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAttackPos() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c33350018.poop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsAttackPos() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
end
end
--传说之魂 仁慈
function c33350019.initial_effect(c)
--to defense
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350019,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c33350019.potg)
e1:SetOperation(c33350019.poop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--spsum
local e21=Effect.CreateEffect(c)
e21:SetDescription(aux.Stringid(33350019,1))
e21:SetCategory(CATEGORY_SPECIAL_SUMMON)
e21:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e21:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e21:SetCode(EVENT_TO_GRAVE)
e21:SetCondition(c33350019.spcon)
e21:SetTarget(c33350019.sptg)
e21:SetCountLimit(1,33350056)
e21:SetOperation(c33350019.spop)
c:RegisterEffect(e21)
--destroy
local e22=Effect.CreateEffect(c)
e22:SetDescription(aux.Stringid(33350019,2))
e22:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SUMMON)
e22:SetType(EFFECT_TYPE_QUICK_O)
e22:SetCode(EVENT_FREE_CHAIN)
e22:SetRange(LOCATION_MZONE)
e22:SetCountLimit(1,333500019)
e22:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e22:SetCondition(c33350019.spcon2)
e22:SetTarget(c33350019.sptg2)
e22:SetOperation(c33350019.spop2)
c:RegisterEffect(e22)
end
c33350019.setname="TaleSouls"
function c33350019.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToGrave() and Duel.IsExistingMatchingCard(c33350019.sumfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c33350019.sumfilter(c)
return c:IsCode(33351001) and c:IsSummonable(true,nil)
end
function c33350019.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) or c:IsFacedown() or Duel.SendtoGrave(c,REASON_EFFECT)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c33350019.sumfilter,tp,LOCATION_HAND,0,1,1,nil)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.Summon(tp,g:GetFirst(),true,nil)
end
end
function c33350019.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2
end
function c33350019.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsReason(REASON_EFFECT)
end
function c33350019.spfilter(c,e,tp)
return c.setname=="TaleSouls" and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33350019.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c33350019.spfilter(chkc,e,tp) and chkc:IsControler(tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c33350019.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c33350019.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c33350019.spop(e,tp,eg,ep,ev,re,r,rp,chk)
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
function c33350019.potg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return e:GetHandler():IsAttackPos() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c33350019.poop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsAttackPos() and c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE)
end
end
--传说之魂 安戴因·Determination
function c33350020.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c33350020.ffilter,5,true)
aux.EnablePendulumAttribute(c,false)
--atk up
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_PZONE)
e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(c33350020.cfilter)
e3:SetValue(1500)
c:RegisterEffect(e3)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(c33350020.splimit)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c33350020.sprcon)
e2:SetOperation(c33350020.sprop)
c:RegisterEffect(e2)
--extra attack
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_EXTRA_ATTACK)
e4:SetValue(2)
c:RegisterEffect(e4)
--at
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(33350020,0))
e5:SetCategory(CATEGORY_ATKCHANGE)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e5:SetCode(EVENT_BATTLED)
e5:SetOperation(c33350020.atkop)
c:RegisterEffect(e5)
--summon success
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_MATERIAL_CHECK)
e6:SetValue(c33350020.matcheck)
--c:RegisterEffect(e6)
--pendulum
local e8=Effect.CreateEffect(c)
e8:SetDescription(aux.Stringid(33350020,1))
e8:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e8:SetCode(EVENT_LEAVE_FIELD)
e8:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e8:SetCondition(c33350020.pencon)
e8:SetTarget(c33350020.pentg)
e8:SetOperation(c33350020.penop)
c:RegisterEffect(e8)
end
c33350020.setname="TaleSouls"
function c33350020.pencon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousLocation(LOCATION_MZONE)
end
function c33350020.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 c33350020.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()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
end
function c33350020.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToBattle() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-500)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
c:RegisterEffect(e1)
end
function c33350020.splimit(e,se,sp,st)
return e:GetHandler():GetLocation()~=LOCATION_EXTRA
end
function c33350020.spfilter(c)
return c.setname=="TaleSouls" and c:IsCanBeFusionMaterial() and c:IsAbleToRemoveAsCost()
end
function c33350020.fselect(c,tp,mg,sg)
sg:AddCard(c)
local res=false
if sg:GetCount()<5 then
res=mg:IsExists(c33350020.fselect,1,sg,tp,mg,sg)
else
res=Duel.GetLocationCountFromEx(tp,tp,sg)>0
end
sg:RemoveCard(c)
return res
end
function c33350020.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(c33350020.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local sg=Group.CreateGroup()
return mg:IsExists(c33350020.fselect,1,nil,tp,mg,sg)
end
function c33350020.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(c33350020.spfilter,tp,LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local sg=Group.CreateGroup()
while sg:GetCount()<5 do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=mg:FilterSelect(tp,c33350020.fselect,1,1,sg,tp,mg,sg)
sg:Merge(g)
end
Duel.Remove(sg,POS_FACEUP,REASON_COST+REASON_FUSION+REASON_MATERIAL)
local atk=sg:GetSum(Card.GetAttack)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
function c33350020.ffilter(c)
return c.setname=="TaleSouls"
end
function c33350020.cfilter(e,c)
return c.setname=="TaleSouls"
end
--传说之魂 恐惧
function c33350021.initial_effect(c)
c:EnableReviveLimit()
c:SetSPSummonOnce(33350021)
aux.AddLinkProcedure(c,c33350021.lfilter,1)
--sp
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(33350021,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,33350021)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetTarget(c33350021.sptg)
e1:SetOperation(c33350021.spop)
c:RegisterEffect(e1)
end
c33350021.setname="TaleSouls"
function c33350021.lfilter(c)
return c.setname=="TaleSouls"
end
function c33350021.filter(c,tp)
return c:IsFaceup() and c.setname=="TaleSouls" and c:IsAbleToRemove() and Duel.GetMZoneCount(tp,c,tp)>0
end
function c33350021.spfilter(c,e,tp)
return (not c:IsLocation(LOCATION_REMOVED) or c:IsFaceup()) and c.setname=="TaleSouls" and c:IsLevel(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c33350021.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c33350021.filter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c33350021.filter,tp,LOCATION_MZONE,0,1,nil,tp) and Duel.IsExistingMatchingCard(c33350021.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,c33350021.filter,tp,LOCATION_MZONE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
end
function c33350021.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Remove(tc,tc:GetPosition(),REASON_EFFECT+REASON_TEMPORARY)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_REMOVED)
e1:SetCountLimit(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetOperation(c33350021.retop)
tc:RegisterEffect(e1)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,c33350021.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil,e,tp):GetFirst()
if sc and Duel.SpecialSummon(sc,0,tp,tp,false,false,POS_FACEUP)>0 then
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetValue(c33350021.efilter)
e4:SetOwnerPlayer(tp)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
sc:RegisterEffect(e4)
sc:RegisterFlagEffect(33350021,RESET_EVENT+RESETS_STANDARD,0,1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetLabelObject(sc)
e2:SetCondition(c33350021.descon)
e2:SetOperation(c33350021.desop)
Duel.RegisterEffect(e2,tp)
end
end
end
function c33350021.descon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffect(33350021)~=0 then
return true
else
e:Reset()
return false
end
end
function c33350021.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.Destroy(tc,REASON_EFFECT)
end
function c33350021.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
function c33350021.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetHandler())
e:Reset()
end
--传说之魂 缜密
local m=33350022
local cm=_G["c"..m]
function cm.initial_effect(c)
aux.AddXyzProcedure(c,nil,1,2)
c:EnableReviveLimit()
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetRange(LOCATION_MZONE)
e0:SetCode(EFFECT_UPDATE_ATTACK)
e0:SetValue(function(e,c)
local og=c:GetOverlayGroup()
if og:GetCount()>0 then
return og:GetSum(Card.GetLevel)*300
else
return 0
end
end
)
c:RegisterEffect(e0)
local e0_1=e0:Clone()
e0_1:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e0_1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(2)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
cm.setname="TaleSouls"
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local a=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local b=Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,1,nil)
if chk==0 then return c:IsAttackAbove(500) and (a or b) end
local op=2
if a and b then
op=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))
elseif b then
op=Duel.SelectOption(tp,aux.Stringid(m,2))+1
else
op=Duel.SelectOption(tp,aux.Stringid(m,1))
end
Duel.SetTargetParam(op+1)
if op==0 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
else
e:SetCategory(CATEGORY_TOHAND)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,tp,0)
end
end
function cm.check(c,e,tp)
if not c:IsAttack(500) then return false end
return (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup()) and (c:IsAbleToHand() or c:IsCanBeSpecialSummoned(e,0,tp,false,false))
end
function cm.thcheck(c)
return c:IsAbleToHand()
end
function cm.op(e,tp)
local rm=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local c=e:GetHandler()
if rm==1 then
if not c:IsRelateToEffect(e) or c:IsControler(1-tp) or Duel.GetLocationCount(tp,LOCATION_MZONE,PLAYER_NONE,0)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
if c:IsAttackAbove(500) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(-500)
c:RegisterEffect(e1)
if c:IsHasEffect(EFFECT_REVERSE_UPDATE) then
return
end
local g=Duel.GetMatchingGroup(cm.check,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,5)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELECT)
local tg=g:Select(tp,1,1,nil)
local rc=tg:GetFirst()
local a=rc:IsAbleToHand()
local b=rc:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
local op=0
if a and b then
op=Duel.SelectOption(tp,aux.Stringid(m,3),aux.Stringid(m,4))
elseif b then
op=Duel.SelectOption(tp,aux.Stringid(m,4))+1
else
op=Duel.SelectOption(tp,aux.Stringid(m,3))
end
if op==0 then
Duel.SendtoHand(rc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,rc)
else
Duel.SpecialSummon(rc,0,tp,tp,false,false,POS_FACEUP)
end
end
end
elseif rm==2 then
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
if c:IsAttackAbove(500) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(-500)
c:RegisterEffect(e1)
if not c:IsHasEffect(EFFECT_REVERSE_UPDATE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local rg=Duel.SelectMatchingCard(tp,cm.thcheck,tp,0,LOCATION_ONFIELD,1,1,nil)
if rg:GetCount()>0 then
Duel.HintSelection(rg)
Duel.SendtoHand(rg,nil,REASON_EFFECT)
end
end
end
end
end
\ No newline at end of file
--传说之魂 缜密
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m=33350023
local cm=_G["c"..m]
function cm.initial_effect(c)
aux.AddXyzProcedure(c,nil,1,2)
c:EnableReviveLimit()
local e1=rsef.I(c,{m,0},1,"se,th",nil,LOCATION_MZONE,nil,rscost.rmxyz(1),rstg.target2(cm.fun,rsop.list(cm.thfilter,"th",LOCATION_DECK)),cm.thop)
local e2=rsef.SC(c,EVENT_SPSUMMON_SUCCESS,nil,nil,"cd",rscon.sumtype("xyz",cm.cfilter),cm.op)
end
cm.setname="TaleSouls"
function cm.cfilter(c,e,tp,re,rp,mat)
return #mat>0 and mat:IsExists(Card.IsCode,1,nil,33350016)
end
function cm.op(e,tp)
local e3=rsef.I({e:GetHandler()},{m,1},1,"rm","tg",LOCATION_MZONE,nil,nil,rstg.target(Card.IsFaceup,nil,LOCATION_ONFIELD,LOCATION_ONFIELD),cm.tgop)
e3:SetReset(rsreset.est)
end
function cm.tgop(e,tp)
local tc=rscf.GetTargetCard()
if not tc then return end
if (tc:IsType(TYPE_PENDULUM) and tc:IsLocation(LOCATION_SZONE)) or not tc:IsCanTurnSet() then
Duel.Remove(tc,POS_FACEUP,REASON_RULE)
else
Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)
if tc:IsFaceup() then
Duel.Remove(tc,POS_FACEUP,REASON_RULE)
end
end
end
function cm.fun(g,e,tp)
rsof.SelectHint(tp,"tg")
local tg=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SendtoGrave(tg,REASON_COST)
end
function cm.thfilter(c,e,tp)
return c:IsAbleToHand() and c.setname=="TaleSouls" and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,c,e,tp)
end
function cm.tgfilter(c,e,tp)
return c.setname=="TaleSouls" and c:IsType(TYPE_MONSTER) and c:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(cm.thfilter2,tp,LOCATION_DECK,0,1,c)
end
function cm.thfilter2(c,e,tp)
return c:IsAbleToHand() and c.setname=="TaleSouls"
end
function cm.thop(e,tp)
rsof.SelectHint(tp,"th")
local tg=Duel.SelectMatchingCard(tp,cm.thfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if #tg>0 then
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
--传说之魂 决心
function c33351001.initial_effect(c)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,33351001)
e1:SetCost(c33351001.thcost)
e1:SetTarget(c33351001.thtg)
e1:SetOperation(c33351001.thop)
c:RegisterEffect(e1)
--lock
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_REMOVE+CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCost(c33351001.recost)
e2:SetTarget(c33351001.retg)
e2:SetOperation(c33351001.reop)
c:RegisterEffect(e2)
end
c33351001.setname="TaleSouls"
function c33351001.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
end
function c33351001.thfil(c)
return (c:IsCode(33351003) or c:IsCode(33351004)) and c:IsAbleToHand()
end
function c33351001.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33351001.thfil,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,e:GetHandler(),1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c33351001.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)~=0 then
local g=Duel.SelectMatchingCard(tp,c33351001.thfil,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
function c33351001.recostfil(c)
return c.setname=="TaleSouls" and not c:IsPublic()
end
function c33351001.recost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c33351001.recostfil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c33351001.recostfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp)
end
function c33351001.retg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return e:GetHandler():IsAbleToRemove() and Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil) and c:GetFlagEffect(33351001)==0 end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,e:GetHandler(),1,tp,LOCATION_MZONE)
c:RegisterFlagEffect(33351001,RESET_CHAIN,0,1)
end
function c33351001.reop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Remove(e:GetHandler(),0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabelObject(e:GetHandler())
e1:SetCountLimit(1)
e1:SetOperation(c33351001.retop)
Duel.RegisterEffect(e1,tp)
local g=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
local tc=g:GetFirst()
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(e:GetHandler())
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(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetRange(LOCATION_MZONE)
e4:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e4)
end
end
end
function c33351001.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject())
end
\ No newline at end of file
--献祭禁区
function c33351003.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--cannot
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_SZONE)
e1:SetTargetRange(0,1)
e1:SetCondition(c33351003.limcon)
e1:SetTarget(c33351003.splimit)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SUMMON)
c:RegisterEffect(e2)
end
function c33351003.limfil(c)
return not c:IsLevelBelow(2) or c:IsFacedown()
end
function c33351003.limcon(e,c)
local tp=e:GetHandlerPlayer()
return Duel.GetMatchingGroupCount(c33351003.limfil,tp,LOCATION_MZONE,0,nil)==0 and Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>0
end
function c33351003.splimit(e,c)
return c:IsLevelAbove(4) and c:IsLocation(LOCATION_HAND+LOCATION_DECK)
end
\ No newline at end of file
--屠杀线
function c33351004.initial_effect(c)
--ac
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--swap
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SWAP_BASE_AD)
e1:SetRange(LOCATION_SZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(c33351004.target)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_LEVEL)
e2:SetValue(3)
c:RegisterEffect(e2)
end
function c33351004.target(e,c)
return c.setname=="TaleSouls"
end
--希冀之魂 矢原爱
function c33351005.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,c33351005.matfilter,1)
--Equip
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET)
e1:SetCountLimit(1,m)
e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetTarget(c33351005.tg)
e1:SetOperation(c33351005.op)
c:RegisterEffect(e1)
--atk
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetValue(c33351005.value)
c:RegisterEffect(e2)
end
function c33351005.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
if e:GetHandler():IsLocation(LOCATION_GRAVE) then
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
end
function c33351005.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
local tc=Duel.GetFirstTarget()
if c:IsLocation(LOCATION_GRAVE) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.Equip(tp,c,tc,true)
--Add Equip limit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c33351005.eqlimit)
e1:SetLabelObject(tc)
c:RegisterEffect(e1)
--battle indestructable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_EQUIP)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetValue(1)
c:RegisterEffect(e2)
--Disable
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DISABLE)
e3:SetCondition(c33351005.discon)
c:RegisterEffect(e3)
--lock
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_EQUIP)
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetCondition(c33351005.discon)
c:RegisterEffect(e4)
end
end
function c33351005.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c33351005.discon(e,c)
return e:GetHandler():GetEquipTarget():GetBaseAttack()>500
end
function c33351005.matfilter(c)
return c:GetSummonLocation()==LOCATION_EXTRA and c:IsRace(RACE_WARRIOR)
end
function c33351005.valfil(c)
return c:GetAttack()==500
end
function c33351005.value(e,c)
local g=Duel.GetMatchingGroup(c33351005.valfil,e:GetHandlerPlayer(),LOCATION_MZONE+LOCATION_GRAVE,0,nil)
local ct=g:GetClassCount(Card.GetCode)
return ct*500
end
\ No newline at end of file
--
local m=86581001
local m=85481001
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
end
function cm.ffilter(c)
return c:IsRace(RACE_FAIRY) and c:IsLevelAbove(8)
......
--
local m=86581002
local m=85481002
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
--pierce
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......
--
local m=86581003
local m=85481003
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
......@@ -32,7 +31,7 @@ function cm.ffilter(c)
return c:IsSummonLocation(LOCATION_EXTRA+LOCATION_DECK) and c:IsLocation(LOCATION_MZONE)
end
function cm.thfilter(c)
return c:IsType(TYPE_QUICKPLAY) and aux.IsCodeListed(c,86581000) and c:IsAbleToHand()
return c:IsType(TYPE_QUICKPLAY) and aux.IsCodeListed(c,85481000) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
......
--
local m=86581004
local m=85481004
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
--秋高气爽·玻名城夏爱
local m=86581005
local m=85481005
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
--atk change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
......
--末秋廊道·玻名城夏爱
local m=86581006
local m=85481006
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
--destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
......
--挚爱宝物·玻名城夏爱
local m=86581007
local m=85481007
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
c:SetSPSummonOnce(m)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,86581000,cm.ffilter,1,true,true)
aux.AddFusionProcCodeFun(c,85481000,cm.ffilter,1,true,true)
--damage
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DAMAGE)
......
--
local m=86581900
local m=85481900
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
--code
aux.EnableChangeCode(c,86581000,LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE)
aux.EnableChangeCode(c,85481000,LOCATION_MZONE+LOCATION_HAND+LOCATION_GRAVE)
--search
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
......@@ -21,7 +20,7 @@ function cm.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(c,REASON_COST+REASON_DISCARD)
end
function cm.thfilter(c)
return c:IsCode(86581999) and c:IsAbleToHand()
return c:IsCode(85481999) and c:IsAbleToHand()
end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
--新年的气息
local m=86581995
local m=85481995
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,86581000)
aux.AddCodeList(c,85481000)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
......@@ -31,7 +30,7 @@ function cm.filter2(c,e,tp,m,f,chkf)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function cm.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsCode,1,nil,86581000)
return sg:IsExists(Card.IsCode,1,nil,85481000)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......
--
local m=86581996
local m=85481996
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,86581000)
aux.AddCodeList(c,85481000)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
......@@ -93,7 +92,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
function cm.spfilter(c,e,tp)
return c:IsFaceup() and (c:IsCode(86581000) or (aux.IsMaterialListCode(c,86581000) and c:IsType(TYPE_FUSION)))
return c:IsFaceup() and (c:IsCode(85481000) or (aux.IsMaterialListCode(c,85481000) and c:IsType(TYPE_FUSION)))
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......
--
local m=86581997
local m=85481997
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,86581000)
aux.AddCodeList(c,85481000)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DISABLE+CATEGORY_DESTROY+CATEGORY_FUSION_SUMMON)
......@@ -25,7 +24,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
and Duel.IsChainDisablable(ev) and (re:IsActiveType(TYPE_MONSTER) or re:IsHasType(EFFECT_TYPE_ACTIVATE))
end
function cm.costfilter(c)
return c:IsCode(86581000) and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsAbleToGraveAsCost()
return c:IsCode(85481000) and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsAbleToGraveAsCost()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
......@@ -44,7 +43,7 @@ function cm.tgfilter(c,e,tp)
return c:IsAbleToGrave() and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
end
function cm.spfilter(c,e,tp,tc)
return aux.IsMaterialListCode(c,86581000) and c:IsType(TYPE_FUSION)
return aux.IsMaterialListCode(c,85481000) and c:IsType(TYPE_FUSION)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)
and c:CheckFusionMaterial() and Duel.GetLocationCountFromEx(tp,tp,tc,c)>0
end
......
--
local m=86581998
local m=85481998
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,86581000)
aux.AddCodeList(c,85481000)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......@@ -21,7 +20,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.cfilter,1,nil,tp)
end
function cm.filter(c,e,tp)
return (c:IsCode(86581000,86581900) or (aux.IsMaterialListCode(c,86581000) and c:IsType(TYPE_FUSION))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return (c:IsCode(85481000,85481900) or (aux.IsMaterialListCode(c,85481000) and c:IsType(TYPE_FUSION))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
--
local m=86581999
local m=85481999
local cm=_G["c"..m]
Duel.LoadScript("c81000000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,86581000)
aux.AddCodeList(c,85481000)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
......@@ -20,7 +19,7 @@ function cm.filter1(c,e)
return c:IsFaceup() and c:IsCanBeFusionMaterial() and not c:IsImmuneToEffect(e)
end
function cm.filter2(c,e,tp,m,f,chkf)
if not (c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,86581000) and (not f or f(c))
if not (c:IsType(TYPE_FUSION) and aux.IsMaterialListCode(c,85481000) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false)) then return false end
aux.FCheckAdditional=cm.fcheck
local res=c:CheckFusionMaterial(m,nil,chkf)
......@@ -31,7 +30,7 @@ function cm.filter3(c,e)
return not c:IsImmuneToEffect(e)
end
function cm.fcheck(tp,sg,fc)
return sg:IsExists(Card.IsFusionCode,1,nil,86581000)
return sg:IsExists(Card.IsFusionCode,1,nil,85481000)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......
......@@ -115,7 +115,7 @@ function c9330503.sccon(e)
or e:GetHandler()==Duel.GetFieldCard(e:GetHandlerPlayer(),LOCATION_PZONE,1)
end
function c9330503.eqfilter(c)
return c:IsFaceup() and c:IsSetCard(0xcf93)
return c:IsFaceup() and c:IsSetCard(0x5880)
end
function c9330503.eqtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9330503.eqfilter(chkc) end
......@@ -153,7 +153,7 @@ function c9330503.eqlimit1(e,c)
return c==e:GetLabelObject()
end
function c9330503.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xcf93) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
return not c:IsSetCard(0x5880) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end
function c9330503.repfilter(c,tp)
return c:IsFaceup() and c:IsControler(tp) and c:IsOnField() and c:IsReason(REASON_EFFECT+REASON_BATTLE) and not c:IsReason(REASON_REPLACE)
......@@ -192,7 +192,7 @@ function c9330503.lvcon(e)
end
function c9330503.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0xcf93) and ct2==0
return c:IsFaceup() and c:IsSetCard(0x5880) and ct2==0
end
function c9330503.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
......@@ -231,7 +231,7 @@ function c9330503.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c9330503.eqlimit(e,c)
return c:IsSetCard(0xcf93) or e:GetHandler():GetEquipTarget()==c
return c:IsSetCard(0x5880) or e:GetHandler():GetEquipTarget()==c
end
function c9330503.efilter(e,te)
return te:IsHasCategory(CATEGORY_COIN) or te:IsHasCategory(CATEGORY_DICE)
......
......@@ -97,7 +97,7 @@ function c9330507.sccon(e)
or e:GetHandler()==Duel.GetFieldCard(e:GetHandlerPlayer(),LOCATION_PZONE,1)
end
function c9330507.eqfilter(c)
return c:IsFaceup() and c:IsSetCard(0xcf93)
return c:IsFaceup() and c:IsSetCard(0x5880)
end
function c9330507.eqtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9330507.eqfilter(chkc) end
......@@ -135,7 +135,7 @@ function c9330507.eqlimit1(e,c)
return c==e:GetLabelObject()
end
function c9330507.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xcf93) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
return not c:IsSetCard(0x5880) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end
function c9330507.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......@@ -175,7 +175,7 @@ function c9330507.disop(e,tp,eg,ep,ev,re,r,rp)
end
function c9330507.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0xcf93) and ct2==0
return c:IsFaceup() and c:IsSetCard(0x5880) and ct2==0
end
function c9330507.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
......@@ -214,10 +214,10 @@ function c9330507.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c9330507.eqlimit(e,c)
return c:IsSetCard(0xcf93) or e:GetHandler():GetEquipTarget()==c
return c:IsSetCard(0x5880) or e:GetHandler():GetEquipTarget()==c
end
function c9330507.atlimit(e,c)
return c:IsFaceup() and c:IsSetCard(0xcf93) and c~=e:GetHandler()
return c:IsFaceup() and c:IsSetCard(0x5880) and c~=e:GetHandler()
end
function c9330507.eftg(e,c)
return e:GetHandler():GetEquipTarget()==c
......
......@@ -32,7 +32,7 @@ function c9330511.initial_effect(c)
e3:SetRange(LOCATION_PZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetCondition(c9330511.sccon)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0xcf93))
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x5880))
e3:SetValue(500)
c:RegisterEffect(e3)
--special summon itself
......@@ -117,7 +117,7 @@ function c9330511.sccon(e)
or e:GetHandler()==Duel.GetFieldCard(e:GetHandlerPlayer(),LOCATION_PZONE,1)
end
function c9330511.eqfilter(c)
return c:IsFaceup() and c:IsSetCard(0xcf93)
return c:IsFaceup() and c:IsSetCard(0x5880)
end
function c9330511.eqtg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c9330511.eqfilter(chkc) end
......@@ -155,10 +155,10 @@ function c9330511.eqlimit1(e,c)
return c==e:GetLabelObject()
end
function c9330511.splimit(e,c,tp,sumtp,sumpos)
return not c:IsSetCard(0xcf93) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
return not c:IsSetCard(0x5880) and bit.band(sumtp,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
end
function c9330511.cfilter(c)
return c and c:IsFaceup() and c:IsSetCard(0xcf93)
return c and c:IsFaceup() and c:IsSetCard(0x5880)
end
function c9330511.spcon1(e,tp,eg,ep,ev,re,r,rp)
return c9330511.cfilter(Duel.GetAttacker()) or c9330511.cfilter(Duel.GetAttackTarget())
......@@ -176,7 +176,7 @@ function c9330511.spop1(e,tp,eg,ep,ev,re,r,rp)
end
function c9330511.filter(c)
local ct1,ct2=c:GetUnionCount()
return c:IsFaceup() and c:IsSetCard(0xcf93) and ct2==0
return c:IsFaceup() and c:IsSetCard(0x5880) and ct2==0
end
function c9330511.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
......@@ -215,10 +215,10 @@ function c9330511.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(c,0,tp,tp,true,false,POS_FACEUP)
end
function c9330511.eqlimit(e,c)
return c:IsSetCard(0xcf93) or e:GetHandler():GetEquipTarget()==c
return c:IsSetCard(0x5880) or e:GetHandler():GetEquipTarget()==c
end
function c9330511.atlimit(e,c)
return c:IsFaceup() and c:IsSetCard(0xcf93) and c~=e:GetHandler()
return c:IsFaceup() and c:IsSetCard(0x5880) and c~=e:GetHandler()
end
function c9330511.eftg(e,c)
return e:GetHandler():GetEquipTarget()==c
......
......@@ -106,7 +106,6 @@
!setname 0x5f91 叛者
!setname 0x9f93 早见虹羽
!setname 0xaf93 陷阵营
!setname 0xcf93 幻影旅团
!setname 0xf99 替身
!setname 0x3f99 替身使者
!setname 0x5f99 替身箭
......@@ -380,7 +379,7 @@
!setname 0x356 飞球
!setname 0x3356 元始飞球
!setname 0x5356 飞球造物
!counter 0x351 龙神指示物
!counter 0x351 爆弹指示物
!counter 0x352 瞬雷指示物
!counter 0x353 护盾指示物
!counter 0x354 充能指示物
......@@ -426,7 +425,7 @@
!setname 0x480b 星际战舰
!counter 0x48f 能量指示物
#廷达的信徒 401940250&2802160475 150 0xf30-0xf3f
#廷达的信徒 401940250 150 0xf30-0xf3f
!setname 0x6f30 混沌构想|非「混沌」
!setname 0xf33 色带
!setname 0x1f33 色带神
......@@ -1079,7 +1078,7 @@
!counter 0x1da0 逆卡巴拉指示物
!counter 0x1da1 外身指示物
!counter 0x1da2 奇术指示物
!setname 0x3da1 唤灵
!setname 0x3da1 源树
!setname 0x5da1 暮色居城
!setname 0x6da1 二色世界
!setname 0x9da1 幻念
......
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