Super Soldier Ritual
- Card ID:
14094090 - Format: Standard
- Script:
Scripts/c14094090.lua
Stats
| Field | Value |
|---|---|
| Type | 0x82 |
| ATK | 0 |
| DEF | 0 |
| Level/Rank/Link | 0x0 |
| Race | 0x0 |
| Attribute | 0x0 |
| Category | 0x40000 |
Card Text
text
This card can be used to Ritual Summon any "Black Luster Soldier" Ritual Monster.
You must also Tribute monsters from your hand or field whose total Levels exactly equal 8.
During your Main Phase, except the turn this card was sent to the GY: You can banish this card, 1 LIGHT monster, and 1 DARK monster from your GY; Special Summon 1 "Black Luster Soldier" Ritual Monster from your hand, ignoring its Summoning conditions.
You can only use this effect of "Super Soldier Ritual" once per turn.Detected API Calls
Auxiliary.AddRitualProcEqualAuxiliary.excconCard.IsAbleToRemoveAsCostCard.IsAttributeCard.IsCanBeSpecialSummonedCard.IsSetCardCard.IsTypeCard.RegisterEffectDuel.GetLocationCountDuel.HintDuel.IsExistingMatchingCardDuel.RemoveDuel.SelectMatchingCardDuel.SetOperationInfoDuel.SpecialSummonEffect.CreateEffectEffect.GetHandlerEffect.SetCategoryEffect.SetConditionEffect.SetCostEffect.SetCountLimitEffect.SetOperationEffect.SetRangeEffect.SetTargetEffect.SetTypeGroup.AddCardGroup.GetCountGroup.Merge
Script
lua
--超戦士の儀式
function c14094090.initial_effect(c)
aux.AddRitualProcEqual(c,c14094090.ritual_filter)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_GRAVE)
e1:SetCountLimit(1,14094090)
e1:SetCondition(aux.exccon)
e1:SetCost(c14094090.spcost)
e1:SetTarget(c14094090.sptg)
e1:SetOperation(c14094090.spop)
c:RegisterEffect(e1)
end
function c14094090.ritual_filter(c)
return c:IsType(TYPE_RITUAL) and c:IsSetCard(0x10cf)
end
function c14094090.cfilter(c,att)
return c:IsAttribute(att) and c:IsAbleToRemoveAsCost()
end
function c14094090.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c14094090.cfilter,tp,LOCATION_GRAVE,0,1,nil,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(c14094090.cfilter,tp,LOCATION_GRAVE,0,1,nil,ATTRIBUTE_DARK) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=Duel.SelectMatchingCard(tp,c14094090.cfilter,tp,LOCATION_GRAVE,0,1,1,nil,ATTRIBUTE_LIGHT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectMatchingCard(tp,c14094090.cfilter,tp,LOCATION_GRAVE,0,1,1,nil,ATTRIBUTE_DARK)
g1:Merge(g2)
g1:AddCard(e:GetHandler())
Duel.Remove(g1,POS_FACEUP,REASON_COST)
end
function c14094090.spfilter(c,e,tp)
return c:IsSetCard(0x10cf) and c:IsType(TYPE_RITUAL) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c14094090.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c14094090.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c14094090.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c14094090.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,true,false,POS_FACEUP)
end
end