--Crisis Claw - Hate --Scripted by Yuno local cid,id=GetID() function cid.initial_effect(c) --Recover a "Crisis Claw" monster local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_TOHAND) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCountLimit(1, id) e1:SetTarget(cid.thtg) e1:SetOperation(cid.thop) c:RegisterEffect(e1) e2=e1:Clone() e2:SetCode(EVENT_SPSUMMON_SUCCESS) c:RegisterEffect(e2) --Destroy a Spell/Trap local e3=Effect.CreateEffect(c) e3:SetCategory(CATEGORY_DESTROY) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetCode(EVENT_TO_GRAVE) e3:SetCountLimit(1, id+100) e3:SetCondition(cid.descon) e3:SetTarget(cid.destg) e3:SetOperation(cid.desop) c:RegisterEffect(e3) end --Recover a "Crisis Claw" monster function cid.thfilter(c) return c:IsSetCard(0x571) and c:IsType(TYPE_MONSTER) and not c:IsCode(id) and c:IsAbleToHand() end function cid.thtg(e, tp, eg, ep, ev, re, r, rp, chk, chkc) if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and cid.thfilter(chkc) end if chk==0 then return Duel.IsExistingTarget(cid.thfilter, tp, LOCATION_GRAVE, 0, 1, nil) end Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_ATOHAND) local g=Duel.SelectTarget(tp, cid.thfilter, tp, LOCATION_GRAVE, 0, 1, 1, nil) Duel.SetOperationInfo(0, CATEGORY_TOHAND, g, 1, 0, 0) end function cid.thop(e, tp, eg, ep, ev, re, r, rp) local tc=Duel.GetFirstTarget() if tc:IsRelateToEffect(e) then Duel.SendtoHand(tc, tp, REASON_EFFECT) end end --Destroy a Spell/Trap function cid.descon(e, tp, eg, ep, ev, re, r, rp) return re and re:GetHandler():IsSetCard(0x571) and bit.band(r, REASON_EFFECT)~=0 end function cid.desfilter(c) return c:IsType(TYPE_SPELL+TYPE_TRAP) end function cid.destg(e, tp, eg, ep, ev, re, r, rp, chk, chkc) if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_ONFIELD) and cid.desfilter(chkc) end if chk==0 then return Duel.IsExistingTarget(cid.desfilter, tp, 0, LOCATION_ONFIELD, 1, nil) end Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DESTROY) local g=Duel.SelectTarget(tp, cid.desfilter, tp, 0, LOCATION_ONFIELD, 1, 1, nil) Duel.SetOperationInfo(0, CATEGORY_DESTROY, g, 1, 0, 0) end function cid.desop(e, tp, eg, ep, ev, re, r, rp) local tc=Duel.GetFirstTarget() if tc:IsRelateToEffect(e) then Duel.Destroy(tc, REASON_EFFECT) end end