Miracle script
This commit is contained in:
BIN
UniverseDeck.cdb
BIN
UniverseDeck.cdb
Binary file not shown.
BIN
card pics/Universe Miracle/56158671.png
Normal file
BIN
card pics/Universe Miracle/56158671.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
BIN
card pics/Universe Miracle/Universe Miracle.png
Normal file
BIN
card pics/Universe Miracle/Universe Miracle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
72
lua/c56158671.lua
Normal file
72
lua/c56158671.lua
Normal file
@@ -0,0 +1,72 @@
|
||||
--Universe Miracle
|
||||
local s,id=GetID()
|
||||
function s.initial_effect(c)
|
||||
--Activate
|
||||
local e1=Effect.CreateEffect(c)
|
||||
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
|
||||
e1:SetType(EFFECT_TYPE_ACTIVATE)
|
||||
e1:SetCode(EVENT_FREE_CHAIN)
|
||||
e1:SetCountLimit(1,id,EFFECT_COUNT_CODE_OATH)
|
||||
e1:SetCondition(s.condition)
|
||||
e1:SetCost(s.cost)
|
||||
e1:SetTarget(s.target)
|
||||
e1:SetOperation(s.activate)
|
||||
c:RegisterEffect(e1)
|
||||
--banish effect
|
||||
local e2=Effect.CreateEffect(c)
|
||||
e2:SetDescription(aux.Stringid(id,0))
|
||||
e2:SetType(EFFECT_TYPE_IGNITION)
|
||||
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
|
||||
e2:SetRange(LOCATION_GRAVE)
|
||||
e2:SetCost(aux.bfgcost)
|
||||
--e2:SetTarget(s.mattg)
|
||||
--e2:SetOperation(s.matop)
|
||||
c:RegisterEffect(e2)
|
||||
end
|
||||
s.listed_series={0x25e}
|
||||
function s.chainfilter(re,tp,cid)
|
||||
local rc=re:GetHandler()
|
||||
local loc=Duel.GetChainInfo(cid,CHAININFO_TRIGGERING_LOCATION)
|
||||
return not (re:GetActiveType()==TYPE_PENDULUM+TYPE_SPELL and not re:IsHasType(EFFECT_TYPE_ACTIVATE)
|
||||
and (loc&LOCATION_PZONE)==LOCATION_PZONE and rc:IsSetCard(0x98))
|
||||
end
|
||||
function s.condition(e,tp,eg,ep,ev,re,r,rp)
|
||||
return Duel.GetCustomActivityCount(id,tp,ACTIVITY_CHAIN)==0
|
||||
end
|
||||
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
|
||||
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,e:GetHandler()) end
|
||||
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
|
||||
end
|
||||
function s.thfilter(c)
|
||||
return c:IsSetCard(0x25e) and c:IsAbleToHand()
|
||||
end
|
||||
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
|
||||
if chk==0 then
|
||||
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
|
||||
return g:GetClassCount(Card.GetCode)>=2
|
||||
end
|
||||
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
|
||||
end
|
||||
function s.activate(e,tp,eg,ep,ev,re,r,rp)
|
||||
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
|
||||
if g:GetClassCount(Card.GetCode)>=2 then
|
||||
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
|
||||
local g1=g:Select(tp,1,1,nil)
|
||||
g:Remove(Card.IsCode,nil,g1:GetFirst():GetCode())
|
||||
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
|
||||
local g2=g:Select(tp,1,1,nil)
|
||||
g1:Merge(g2)
|
||||
Duel.SendtoHand(g1,nil,REASON_EFFECT)
|
||||
Duel.ConfirmCards(1-tp,g1)
|
||||
end
|
||||
--[[if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
|
||||
local e1=Effect.CreateEffect(e:GetHandler())
|
||||
e1:SetType(EFFECT_TYPE_FIELD)
|
||||
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
|
||||
e1:SetTargetRange(LOCATION_PZONE,0)
|
||||
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x98))
|
||||
e1:SetValue(1)
|
||||
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
|
||||
Duel.RegisterEffect(e1,tp)
|
||||
end]]
|
||||
end
|
||||
Reference in New Issue
Block a user