--Starform Hero local s,id,o=GetID() function s.initial_effect(c) c:EnableReviveLimit() aux.AddOrigBigbangType(c) aux.AddBigbangProc(c,aux.FilterBoolFunction(Card.IsCode,81455791),1,1,Card.IsNegative,1) aux.AddCodeList(c,81455791) aux.AddMaterialCodeList(c,81455791) --If this card is Bigbang Summoned: You can target 1 Level 6 or lower Bigbang Monster in your GY; either equip it to this card or Special Summon it. local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_EQUIP) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e1:SetCode(EVENT_SPSUMMON_SUCCESS) --e1:SetCountLimit(1,id) e1:SetCondition(s.spcon) e1:SetTarget(s.sptg) e1:SetOperation(s.spop) c:RegisterEffect(e1) --Gains ATK/DEF equal to the combined ATK/DEF of all monsters equipped to it. local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetValue(s.atkval) c:RegisterEffect(e2) local e3=e2:Clone() e3:SetCode(EFFECT_UPDATE_DEFENSE) e3:SetValue(s.defval) c:RegisterEffect(e3) --Once per turn (Quick Effect): You can destroy 1 monster your opponent controls whose ATK is less than the difference between this card's original and current ATK. local e4=Effect.CreateEffect(c) e4:SetCategory(CATEGORY_DESTROY) e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetCode(EVENT_FREE_CHAIN) e4:SetRange(LOCATION_MZONE) e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) e4:SetCountLimit(1) e4:SetTarget(s.destg) e4:SetOperation(s.desop) c:RegisterEffect(e4) --If this card battles, your opponent cannot activate cards or effects until the end of the Damage Step. local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_FIELD) e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e5:SetCode(EFFECT_CANNOT_ACTIVATE) e5:SetRange(LOCATION_MZONE) e5:SetTargetRange(0,1) e5:SetValue(1) e5:SetCondition(s.actcon) c:RegisterEffect(e5) end s.material_setcode=0xcf11 function s.spfilter(c,e,tp) return c:IsLevelBelow(6) and c:IsType(TYPE_BIGBANG) and ((c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) or Duel.GetLocationCount(tp,LOCATION_SZONE)>0) end function s.spcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():IsSummonType(SUMMON_TYPE_BIGBANG) end function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and s.spfilter(chkc,e,tp) end if chk==0 then return Duel.IsExistingTarget(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectTarget(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,g,1,0,0) end function s.eqlimit(e,c) return e:GetOwner()==c end function s.spop(e,tp,eg,ep,ev,re,r,rp) local tc=Duel.GetFirstTarget() local spcondition=(tc:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0) local eqcondition=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 local op=0 if spcondition and eqcondition then op=Duel.SelectOption(tp,aux.Stringid(id,0),aux.Stringid(id,1)) elseif spcondition then op=Duel.SelectOption(tp,aux.Stringid(id,0)) else op=Duel.SelectOption(tp,aux.Stringid(id,1))+1 end local tc=Duel.GetFirstTarget() if op==0 then if tc:IsRelateToEffect(e) then Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) end else if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then if not Duel.Equip(tp,tc,c,false) then return end --Add Equip limit tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,0) local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE) e1:SetCode(EFFECT_EQUIP_LIMIT) e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetValue(s.eqlimit) tc:RegisterEffect(e1) end end end function s.atkval(e,c) local tp=c:GetControler() local tot=0 local eq=c:GetEquipGroup() local tc=eq:GetFirst() for tc in aux.Next(eq) do tot=tot+tc:GetAttack() end return tot end function s.defval(e,c) local tp=c:GetControler() local tot=0 local eq=c:GetEquipGroup() local tc=eq:GetFirst() for tc in aux.Next(eq) do tot=tot+tc:GetDefense() end return tot end function s.filter(c,atk) return c:IsFaceup() and c:GetAttack()0 then Duel.HintSelection(g) Duel.Destroy(g:GetFirst(),REASON_EFFECT) end end function s.actcon(e) return Duel.GetAttacker()==e:GetHandler() or Duel.GetAttackTarget()==e:GetHandler() end