--动物朋友 右风狮爷 local m=33700184 local cm=_G["c"..m] Duel.LoadScript("c37564765.lua") function cm.initial_effect(c) Senya.AddSummonSE(c,aux.Stringid(m,2)) --synchro summon aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1,1) c:EnableReviveLimit() --pendulum summon aux.EnablePendulumAttribute(c,false) local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_SINGLE) e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e5:SetRange(LOCATION_MZONE) e5:SetValue(aux.tgoval) c:RegisterEffect(e5) local e6=e5:Clone() e6:SetCode(EFFECT_IMMUNE_EFFECT) e6:SetValue(cm.tgvalue) c:RegisterEffect(e6) local e4=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(m,2)) e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCode(EVENT_TO_GRAVE) e4:SetCondition(cm.sumcon) e4:SetTarget(Senya.multi_choice_target(m,cm.pentg,cm.sumtg)) e4:SetOperation(Senya.multi_choice_operation(cm.penop,cm.sumop)) c:RegisterEffect(e4) local e5=e4:Clone() e5:SetCode(EVENT_REMOVE) c:RegisterEffect(e5) local e6=e4:Clone() e6:SetCode(EVENT_TO_DECK) c:RegisterEffect(e6) local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_FIELD) e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e3:SetRange(LOCATION_PZONE) e3:SetTargetRange(LOCATION_MZONE,0) e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442)) e3:SetValue(cm.tgvalue) c:RegisterEffect(e3) local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_FIELD) e3:SetCode(EFFECT_IMMUNE_EFFECT) e3:SetRange(LOCATION_PZONE) e3:SetTargetRange(LOCATION_ONFIELD,0) e3:SetCondition(function(e) return Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandler(),LOCATION_PZONE,0,1,e:GetHandler(),m-1) end) e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442)) e3:SetValue(cm.tgvalue) c:RegisterEffect(e3) end function cm.sumcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():IsPreviousPosition(POS_FACEUP) and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) and e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO) end function cm.filter(c,e,tp) return c:IsCode(m-1) and c:IsCanBeSpecialSummoned(e,0,tp,true,true,POS_FACEDOWN_DEFENSE) end function cm.sumtg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCountFromEx(tp)>0 and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) end function cm.sumop(e,tp,eg,ep,ev,re,r,rp) local tg=Duel.GetFirstMatchingCard(cm.filter,tp,LOCATION_EXTRA,0,nil,e,tp) if tg then Duel.SpecialSummon(tg,0,tp,tp,true,true,POS_FACEDOWN_DEFENSE) end end function cm.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 cm.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 cm.tgvalue(e,re,rp) return rp~=e:GetHandlerPlayer() end