--LUCKY BEAST 三型 local m=33700752 local cm=_G["c"..m] function cm.initial_effect(c) --special summon local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetRange(LOCATION_HAND) e1:SetCondition(cm.spcon) e1:SetOperation(cm.spop) e1:SetValue(1) c:RegisterEffect(e1) --token local e2=Effect.CreateEffect(c) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE) e2:SetType(EFFECT_TYPE_IGNITION) e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1) e2:SetCondition(cm.tkcon) e2:SetTarget(cm.tktg) e2:SetOperation(cm.tkop) c:RegisterEffect(e2) --level change local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCondition(cm.lvcon) e3:SetOperation(cm.lvop) e3:SetLabelObject(e1) c:RegisterEffect(e3) end function cm.spcfilter(c) return c:IsSetCard(0x442) and c:IsType(TYPE_MONSTER) and not c:IsPublic() end function cm.spcon(e,c) if c==nil then return true end local tp=c:GetControler() local cg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_GRAVE,0,nil) return cg:GetClassCount(Card.GetCode)==cg:GetCount() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.spcfilter,tp,LOCATION_HAND,0,1,nil) end function cm.spop(e,tp,eg,ep,ev,re,r,rp,c) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) local g=Duel.SelectMatchingCard(tp,cm.spcfilter,tp,LOCATION_HAND,0,1,1,nil) local tc=g:GetFirst() local lv=tc:GetLevel() e:SetLabel(lv) Duel.ConfirmCards(1-tp,g) Duel.ShuffleHand(tp) --local e1=Effect.CreateEffect(c) --e1:SetType(EFFECT_TYPE_SINGLE) --e1:SetCode(EFFECT_UPDATE_LEVEL) --e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) --e1:SetValue(-lv) --c:RegisterEffect(e1) end function cm.lvcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():GetSummonType()==SUMMON_TYPE_SPECIAL+1 end function cm.lvop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetValue(-e:GetLabelObject():GetLabel()) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) c:RegisterEffect(e1) end function cm.tkcon(e,tp,eg,ep,ev,re,r,rp) local cg=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_GRAVE,0,nil) return cg:GetClassCount(Card.GetCode)==cg:GetCount() end function cm.tgfilter(c) return c:IsSetCard(0x442) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave() end function cm.tktg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_TOKEN,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK) end function cm.tkop(e,tp,eg,ep,ev,re,r,rp) if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local tc=g:GetFirst() if tc then Duel.SendtoGrave(tc,REASON_EFFECT) end if tc:IsFacedown() then return end if not Duel.IsPlayerCanSpecialSummonMonster(tp,33700753,0,0x4011,tc:GetAttack(),tc:GetDefense(),tc:GetLevel(),tc:GetRace(),tc:GetAttribute()) then return end local token=Duel.CreateToken(tp,33700753) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) local e1=Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetValue(tc:GetAttack()) e1:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e1) local e2=e1:Clone() e2:SetCode(EFFECT_SET_BASE_DEFENSE) e2:SetValue(tc:GetDefense()) token:RegisterEffect(e2) local e3=e1:Clone() e3:SetCode(EFFECT_CHANGE_LEVEL) e3:SetValue(tc:GetLevel()) token:RegisterEffect(e3) local e4=e1:Clone() e4:SetCode(EFFECT_CHANGE_RACE) e4:SetValue(tc:GetRace()) token:RegisterEffect(e4) local e5=e1:Clone() e5:SetCode(EFFECT_CHANGE_ATTRIBUTE) e5:SetValue(tc:GetAttribute()) token:RegisterEffect(e5) local e6=Effect.CreateEffect(e:GetHandler()) e6:SetType(EFFECT_TYPE_SINGLE) e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e6:SetRange(LOCATION_MZONE) e6:SetCode(EFFECT_UNRELEASABLE_SUM) e6:SetValue(function(e,c) return not c:IsSetCard(0x442) end) e6:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e6) local e7=e6:Clone() e7:SetCode(EFFECT_UNRELEASABLE_NONSUM) token:RegisterEffect(e7) local e8=Effect.CreateEffect(e:GetHandler()) e8:SetType(EFFECT_TYPE_SINGLE) e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e8:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL) e8:SetValue(function(e,c) if c==nil then return true end return not c:IsSetCard(0x442) end) e8:SetReset(RESET_EVENT+RESETS_STANDARD) token:RegisterEffect(e8) local e9=e8:Clone() e9:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL) token:RegisterEffect(e9) local ea=e8:Clone() ea:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) token:RegisterEffect(ea) Duel.SpecialSummonComplete() end