--Cosmo'n Crossway local s,id,o=GetID() function s.initial_effect(c) --When this card is activated: You can add 1 "Cosmo'n" monster from your Deck or GY to your hand. local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(id,0)) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_ACTION) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH) e1:SetOperation(s.operation) c:RegisterEffect(e1) --Once per turn: You can reveal 1 Bigbang Monster from your Extra Deck that specifically lists a "Cosmo'n" monster in its card text; --Discard 1 card, and if you do, Special Summon 1 "Catalyst Token" (LIGHT/Psychic/Level 1/ATK ?/DEF ?) with ATK/DEF equal to the revealed Bigbang monster's, but it cannot attack. local e2=Effect.CreateEffect(c) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_HANDES) e2:SetType(EFFECT_TYPE_IGNITION) e2:SetRange(LOCATION_FZONE) e2:SetCountLimit(1) e2:SetTarget(s.sptg) e2:SetOperation(s.spop) c:RegisterEffect(e2) end function s.thfilter(c) return c:IsSetCard(0xcf11) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER) end function s.operation(e,tp,eg,ep,ev,re,r,rp) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil) if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local sg=g:Select(tp,1,1,nil) Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,sg) end end function s.ffilter(c) return c:IsType(TYPE_BIGBANG) and aux.IsMaterialListSetCard(c,0xcf11) end function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(s.ffilter,tp,LOCATION_EXTRA,0,1,nil) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,111455791,0,TYPES_TOKEN_MONSTER,-2,-2,1,RACE_PSYCHO,ATTRIBUTE_LIGHT) and Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil,REASON_EFFECT) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) local tc=Duel.SelectMatchingCard(tp,s.ffilter,tp,LOCATION_EXTRA,0,1,1,nil):GetFirst() Duel.ConfirmCards(1-tp,tc) e:SetLabelObject(tc) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,nil) Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,tp,1) end function s.spop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=e:GetLabelObject() if Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_EFFECT+REASON_DISCARD,nil,REASON_EFFECT)~=0 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local token=Duel.CreateToken(tp,111455791) local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_SET_ATTACK) e1:SetValue(tc:GetAttack()) e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) token:RegisterEffect(e1) local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_SET_DEFENSE) e2:SetValue(tc:GetDefense()) e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD) token:RegisterEffect(e2) Duel.SpecialSummon(token,0,tp,tp,false,false,POS_FACEUP) local e3=Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(id,1)) e3:SetProperty(EFFECT_FLAG_CLIENT_HINT) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetCode(EFFECT_CANNOT_ATTACK) e3:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e3) end end