--Blade of Devotion --AlphaKretin --For Nemoma local s = c33700425 local id = 33700425 function s.initial_effect(c) aux.AddEquipProcedure(c) --0 atk local e1 = Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_EQUIP) e1:SetCode(EFFECT_SET_BASE_ATTACK) e1:SetValue(0) c:RegisterEffect(e1) --cannot attack local e2 = Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_EQUIP) e2:SetCode(EFFECT_IGNORE_BATTLE_TARGET) c:RegisterEffect(e2) --gain atk local e3 = Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(id, 0)) e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F) e3:SetRange(LOCATION_SZONE) e3:SetCode(EVENT_DAMAGE) e3:SetCondition(s.atkcon) e3:SetOperation(s.atkop) c:RegisterEffect(e3) --search local e4 = Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(id, 1)) e4:SetCategory(CATEGORY_TOHAND + CATEGORY_SEARCH) e4:SetType(EFFECT_TYPE_IGNITION) e4:SetRange(LOCATION_SZONE) e4:SetCondition(s.thcon) e4:SetCost(s.thcost) e4:SetTarget(s.thtg) e4:SetOperation(s.thop) c:RegisterEffect(e4) --draw local e5 = Effect.CreateEffect(c) e5:SetDescription(aux.Stringid(id, 2)) e5:SetCategory(CATEGORY_DRAW) e5:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O) e5:SetCode(EVENT_DESTROYED) e5:SetCondition(s.drcon) e5:SetTarget(s.drtg) e5:SetOperation(s.drop) c:RegisterEffect(e5) end function s.atkcon(e, tp, eg, ep, ev, re, r, rp) return e:GetHandler():GetEquipTarget() end function s.atkop(e, tp, eg, ep, ev, re, r, rp) local tc = e:GetHandler():GetEquipTarget() local e1 = Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetReset(RESET_EVENT + RESETS_STANDARD) e1:SetValue(1000) tc:RegisterEffect(e1) end function s.thcon(e, tp, eg, ep, ev, re, r, rp) local ec = e:GetHandler():GetEquipTarget() return ec and ec:IsAttackAbove(6000) end function s.thcost(e, tp, eg, ep, ev, re, r, rp, chk) local ec = e:GetHandler():GetEquipTarget() if chk == 0 then return ec and ec:IsAbleToGraveAsCost() end Duel.SendtoGrave(ec, REASON_COST) end function s.thtg(e, tp, eg, ep, ev, re, r, rp, chk) if chk == 0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHand, tp, LOCATION_DECK, 0, 1, nil) end Duel.SetOperationInfo(0, CATEGORY_TOHAND, nil, 1, tp, LOCATION_DECK) end function s.thop(e, tp, eg, ep, ev, re, r, rp) Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_ATOHAND) local g = Duel.SelectMatchingCard(tp, Card.IsAbleToHand, tp, LOCATION_DECK, 0, 1, 1, nil) if #g > 0 then Duel.SendtoHand(g, nil, REASON_EFFECT) Duel.ConfirmCards(1 - tp, g) end end function s.drcon(e, tp, eg, ep, ev, re, r, rp) return e:GetHandler():IsPreviousPosition(POS_FACEUP) end function s.drtg(e, tp, eg, ep, ev, re, r, rp, chk) if chk == 0 then return Duel.IsPlayerCanDraw(tp, 1) end Duel.SetTargetPlayer(tp) Duel.SetTargetParam(1) Duel.SetOperationInfo(0, CATEGORY_DRAW, nil, 0, tp, 1) end function s.drop(e, tp, eg, ep, ev, re, r, rp) local p, d = Duel.GetChainInfo(0, CHAININFO_TARGET_PLAYER, CHAININFO_TARGET_PARAM) Duel.Draw(p, d, REASON_EFFECT) end