Bujinki Ahashima
- Card ID:
71095768 - Format: Standard
- Script:
Scripts/c71095768.lua
Stats
| Field | Value |
|---|---|
| Type | 0x4000021 |
| ATK | 1500 |
| DEF | 132 |
| Level/Rank/Link | 0x2 |
| Race | 0x8000 |
| Attribute | 0x10 |
| Category | 0x40040001 |
Card Text
text
2 monsters with the same Level
Cannot be used as Link Material.
You can only use each of the following effects of "Bujinki Ahashima" once per turn.
● If this card is Link Summoned: You can Special Summon 2 monsters with the same Level, 1 from your hand and 1 from your GY, but negate their effects, and immediately after this effect resolves, Xyz Summon 1 Xyz Monster using those 2 monsters only.
● If an Xyz Monster this card points to activates an effect by detaching material(s) (except during the Damage Step): You can target 1 Spell/Trap your opponent controls; destroy it.Detected API Calls
Auxiliary.AddLinkProcedureAuxiliary.NecroValleyFilterAuxiliary.StringidCard.EnableReviveLimitCard.GetLevelCard.GetLinkedZoneCard.GetLocationCard.IsCanBeSpecialSummonedCard.IsControlerCard.IsLevelAboveCard.IsLocationCard.IsOnFieldCard.IsPreviousControlerCard.IsRelateToEffectCard.IsTypeCard.IsXyzSummonableCard.RegisterEffectDuel.AdjustAllDuel.DestroyDuel.EnableGlobalFlagDuel.GetChainInfoDuel.GetCurrentChainDuel.GetFirstTargetDuel.GetLocationCountDuel.GetMatchingGroupDuel.HintDuel.IsExistingMatchingCardDuel.IsExistingTargetDuel.IsPlayerAffectedByEffectDuel.IsPlayerCanSpecialSummonCountDuel.RegisterEffectDuel.SelectTargetDuel.SetOperationInfoDuel.SpecialSummonCompleteDuel.SpecialSummonStepDuel.XyzSummonEffect.CloneEffect.CreateEffectEffect.GetHandlerEffect.IsActiveType- ...and 22 more
Script
lua
--武神姫-アハシマ
function c71095768.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_DETACH_EVENT)
--link summon
aux.AddLinkProcedure(c,c71095768.mfilter,2,2,c71095768.lcheck)
c:EnableReviveLimit()
--cannot link material
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1:SetValue(1)
c:RegisterEffect(e1)
--xyz summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(71095768,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,71095768)
e2:SetCondition(c71095768.spcon)
e2:SetTarget(c71095768.sptg)
e2:SetOperation(c71095768.spop)
c:RegisterEffect(e2)
--destroy
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(71095768,1))
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_CHAINING)
e4:SetCountLimit(1,71095769)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c71095768.descon)
e4:SetTarget(c71095768.destg)
e4:SetOperation(c71095768.desop)
c:RegisterEffect(e4)
if not c71095768.global_check then
c71095768.global_check=true
c71095768[0]=nil
c71095768[1]=nil
c71095768[2]=nil
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DETACH_MATERIAL)
ge1:SetOperation(c71095768.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c71095768.checkop(e,tp,eg,ep,ev,re,r,rp)
local cid=Duel.GetCurrentChain()
if cid>0 and (r&REASON_COST)>0 then
c71095768[0]=Duel.GetChainInfo(cid,CHAININFO_CHAIN_ID)
c71095768[1]=Duel.GetChainInfo(cid,CHAININFO_TRIGGERING_LOCATION)
local seq=Duel.GetChainInfo(cid,CHAININFO_TRIGGERING_SEQUENCE)
local te=Duel.GetChainInfo(cid,CHAININFO_TRIGGERING_EFFECT)
local tc=te:GetHandler()
if tc:IsRelateToEffect(te) then
if tc:IsControler(1) then seq=seq+16 end
else
if tc:IsPreviousControler(1) then seq=seq+16 end
end
c71095768[2]=seq
end
end
function c71095768.mfilter(c)
return c:IsLevelAbove(1)
end
function c71095768.lcheck(g,lc)
return g:GetClassCount(Card.GetLevel)==1
end
function c71095768.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c71095768.spfilter(c,e,tp)
return c:IsLevelAbove(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c71095768.fselect(g,tp)
return g:GetClassCount(Card.GetLocation)==g:GetCount() and g:GetClassCount(Card.GetLevel)==1
and Duel.IsExistingMatchingCard(Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,1,nil,g,2,2)
end
function c71095768.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c71095768.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,e,tp)
if chk==0 then return Duel.IsPlayerCanSpecialSummonCount(tp,2)
and not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and g:CheckSubGroup(c71095768.fselect,2,2,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_HAND+LOCATION_GRAVE)
end
function c71095768.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c71095768.spfilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,nil,e,tp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=1 or g:GetCount()==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:SelectSubGroup(tp,c71095768.fselect,false,2,2,tp)
if sg and sg:GetCount()==2 then
local tc1=sg:GetFirst()
local tc2=sg:GetNext()
Duel.SpecialSummonStep(tc1,0,tp,tp,false,false,POS_FACEUP)
Duel.SpecialSummonStep(tc2,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e1)
local e2=e1:Clone()
tc2:RegisterEffect(e2)
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetValue(RESET_TURN_SET)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc1:RegisterEffect(e3)
local e4=e3:Clone()
tc2:RegisterEffect(e4)
Duel.SpecialSummonComplete()
Duel.AdjustAll()
if sg:FilterCount(Card.IsLocation,nil,LOCATION_MZONE)<2 then return end
local xyzg=Duel.GetMatchingGroup(Card.IsXyzSummonable,tp,LOCATION_EXTRA,0,nil,sg,2,2)
if xyzg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=xyzg:Select(tp,1,1,nil):GetFirst()
Duel.XyzSummon(tp,xyz,sg)
end
end
end
function c71095768.descon(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.GetChainInfo(ev,CHAININFO_CHAIN_ID)==c71095768[0]
and c71095768[1]==LOCATION_MZONE and re:IsActiveType(TYPE_XYZ)) then return false end
local c=e:GetHandler()
local zone=(c:GetLinkedZone(0) & 0x7f) | ((c:GetLinkedZone(1) & 0x7f)<<0x10)
local seq=c71095768[2]
return seq and bit.extract(zone,seq)~=0
end
function c71095768.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() and chkc:IsType(TYPE_SPELL+TYPE_TRAP) end
if chk==0 then return Duel.IsExistingTarget(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsType,tp,0,LOCATION_ONFIELD,1,1,nil,TYPE_SPELL+TYPE_TRAP)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c71095768.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