Resurgam Xyz
- Card ID:
49082032 - Format: Standard
- Script:
Scripts/c49082032.lua
Stats
| Field | Value |
|---|---|
| Type | 0x20004 |
| ATK | 0 |
| DEF | 0 |
| Level/Rank/Link | 0x0 |
| Race | 0x0 |
| Attribute | 0x0 |
| Category | 0x40040020 |
Card Text
text
All Xyz Monsters you control gain 800 ATK.
Once per turn: You can discard 1 Spell, then target 1 Xyz Monster you control; Special Summon from your Extra Deck, 1 "Number C" monster or 1 "CXyz" monster, with the same Type as that monster you control but 1 Rank higher, by using it as material.
(This is treated as an Xyz Summon. Transfer its materials to the Summoned monster.)
If you discarded a card other than a "Rank-Up-Magic" Spell to activate this effect, return that Special Summoned monster to the Extra Deck during the End Phase (even if this card leaves the field).Detected API Calls
Auxiliary.MustMaterialCheckAuxiliary.StringidAuxiliary.TargetBoolFunctionAuxiliary.dsconCard.CompleteProcedureCard.GetFieldIDCard.GetFlagEffectLabelCard.GetOverlayGroupCard.GetRaceCard.GetRankCard.IsCanBeSpecialSummonedCard.IsCanBeXyzMaterialCard.IsControlerCard.IsDiscardableCard.IsFacedownCard.IsFaceupCard.IsImmuneToEffectCard.IsLocationCard.IsRaceCard.IsRankCard.IsRelateToEffectCard.IsSetCardCard.IsTypeCard.RegisterEffectCard.RegisterFlagEffectCard.SetMaterialDuel.GetFirstTargetDuel.GetLocationCountFromExDuel.HintDuel.IsExistingMatchingCardDuel.IsExistingTargetDuel.OverlayDuel.RegisterEffectDuel.SelectMatchingCardDuel.SelectTargetDuel.SendtoDeckDuel.SendtoGraveDuel.SetOperationInfoDuel.SpecialSummonEffect.CreateEffect- ...and 24 more
Script
lua
--リサーガム・エクシーズ
function c49082032.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE+TIMING_DAMAGE_STEP)
e1:SetCondition(aux.dscon)
c:RegisterEffect(e1)
--atkup
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsType,TYPE_XYZ))
e2:SetValue(800)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(49082032,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1)
e3:SetCost(c49082032.spcost)
e3:SetTarget(c49082032.sptg)
e3:SetOperation(c49082032.spop)
c:RegisterEffect(e3)
end
function c49082032.costfilter(c)
return c:IsType(TYPE_SPELL) and c:IsDiscardable()
end
function c49082032.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c49082032.costfilter,tp,LOCATION_HAND,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g=Duel.SelectMatchingCard(tp,c49082032.costfilter,tp,LOCATION_HAND,0,1,1,nil)
if g:GetFirst():IsSetCard(0x95) then e:SetLabel(1) end
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
function c49082032.spfilter1(c,e,tp)
return c:IsFaceup() and c:IsType(TYPE_XYZ)
and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
and Duel.IsExistingMatchingCard(c49082032.spfilter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,c:GetRace(),c:GetRank()+1)
end
function c49082032.spfilter2(c,e,tp,mc,race,rk)
return c:IsRace(race) and c:IsRank(rk) and c:IsSetCard(0x1048,0x1073) and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end
function c49082032.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c49082032.spfilter1(chkc,e,tp) end
if chk==0 then return Duel.IsExistingTarget(c49082032.spfilter1,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c49082032.spfilter1,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c49082032.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL) then return end
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c49082032.spfilter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc,tc:GetRace(),tc:GetRank()+1)
local sc=g:GetFirst()
if sc then
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(tc))
Duel.Overlay(sc,Group.FromCards(tc))
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
if e:GetLabel()~=1 then
local c=e:GetHandler()
local fid=c:GetFieldID()
sc:RegisterFlagEffect(49082032,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetLabel(fid)
e1:SetLabelObject(sc)
e1:SetCondition(c49082032.retcon)
e1:SetOperation(c49082032.retop)
Duel.RegisterEffect(e1,tp)
end
sc:CompleteProcedure()
end
end
function c49082032.retcon(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(49082032)~=e:GetLabel() then
e:Reset()
return false
else return true end
end
function c49082032.retop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
Duel.SendtoDeck(tc,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end