Syarx101
  • Syarx101
  • Advanced Member Topic Starter
2016-01-19T01:22:38Z
is it possible to make a card that will have the option to activate from the deck at the start of the duel and go to grave or banish? and then to be able to activate its effects from there whenever i need ?

card desc example.
Quote:

At the beginning of the duel this card is banished from either hand or deck. Every turn you can activate the following effects(from banished zone). 1) blah blah blah 2) blah blah blah 3)... 4)... (and so on)

Michael Lawrence Dee
2016-01-19T04:32:38Z
Yes. Speed World 2, script from expansions folder, cards-tf.zip. Boss Duel too.
Now this is how I play:
Syarx101
  • Syarx101
  • Advanced Member Topic Starter
2016-01-19T17:07:57Z
This is what i have made so far. first two effects work great. Third one not and i dont know why. What i want it to do is. For the controller every time before he draws to give him the option to place one card from the deck to the top and then do the normal draw. Can someone help me?
Quote:

--Hearts Of The Cards
function c147.initial_effect(c)

--Activate
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PREDRAW)
e1:SetRange(LOCATION_HAND+LOCATION_DECK)
e1:SetCountLimit(1)
e1:SetCondition(c147.stcon)
e1:SetOperation(c147.stop)
c:RegisterEffect(e1)


--DRAW
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(147,1))
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_REMOVED)
e2:SetTarget(c147.tg2)
e2:SetOperation(c147.op2)
c:RegisterEffect(e2)
-- to top
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(147,2))
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EVENT_PREDRAW)
e3:SetType(EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_REMOVED)
e3:SetTarget(c147.target2)
e3:SetOperation(c147.operation2)
c:RegisterEffect(e3)
end
function c147.stcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount()==1
end

function c147.stop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_REMOVED,0,1,nil,147) then
Duel.DisableShuffleCheck()
Duel.SendtoDeck(c,nil,-2,REASON_RULE)
else
local hct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
Duel.Remove(c,POS_FACEUP,REASON_RULE)
Duel.Hint(HINT_CARD,0,147)
if e:GetHandler():GetPreviousLocation()==LOCATION_HAND then
Duel.Draw(tp,1,REASON_RULE)
end
end
end
function c147.tg2(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 c147.op2(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
function c147.target2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsType,tp,LOCATION_DECK,0,1,nil,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>1 end
end
function c147.operation2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(147,2))
local g=Duel.SelectMatchingCard(tp,Card.IsType,tp,LOCATION_DECK,0,1,1,nil,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
local tc=g:GetFirst()
if tc then
Duel.ShuffleDeck(tp)
Duel.MoveSequence(tc,0)
Duel.ConfirmDecktop(tp,1)
end
end