Commit ca2a7b4c authored by POLYMER's avatar POLYMER

fix

parent 7ae8d9d6
...@@ -5,7 +5,6 @@ function c43990107.initial_effect(c) ...@@ -5,7 +5,6 @@ function c43990107.initial_effect(c)
-- 超量召唤规则 -- 超量召唤规则
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c43990107.mfilter,nil,2,99) aux.AddXyzProcedureLevelFree(c,c43990107.mfilter,nil,2,99)
aux.AddXyzProcedure(c,aux.TRUE,4,1)
-- 效果①:破怪+检索+自爆连锁 -- 效果①:破怪+检索+自爆连锁
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -18,14 +18,16 @@ function c71000176.initial_effect(c) ...@@ -18,14 +18,16 @@ function c71000176.initial_effect(c)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsCode,71000100)) e2:SetTarget(c71000176.indtg)
e2:SetValue(1) e2:SetValue(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetValue(aux.indoval)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e2:Clone() local e4=e2:Clone()
e4:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET) e4:SetCode(EFFECT_CANNOT_BE_BATTLE_TARGET)
e4:SetValue(aux.indoval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--3 --3
local e12=Effect.CreateEffect(c) local e12=Effect.CreateEffect(c)
...@@ -50,7 +52,9 @@ function c71000176.splimit(e,c,sump,sumtype,sumpos,targetp,se) ...@@ -50,7 +52,9 @@ function c71000176.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsRace(RACE_SPELLCASTER) return not c:IsRace(RACE_SPELLCASTER)
end end
--1 --1
function c71000176.indtg(e,c)
return c:IsCode(71000100) and c~=e:GetHandler()
end
function c71000176.f(c) function c71000176.f(c)
return c:IsAbleToHand() and c:IsSetCard(0xe73) return c:IsAbleToHand() and c:IsSetCard(0xe73)
end end
......
...@@ -8,97 +8,92 @@ function c75030002.initial_effect(c) ...@@ -8,97 +8,92 @@ function c75030002.initial_effect(c)
e0:SetValue(1) e0:SetValue(1)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--SpecialSummon --SpecialSummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE) e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,75030002) e1:SetCountLimit(1,75030002)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end) return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end)
e1:SetCost(c75030002.hspcost) e1:SetCost(c75030002.hspcost)
e1:SetTarget(c75030002.hsptg) e1:SetTarget(c75030002.hsptg)
e1:SetOperation(c75030002.hspop) e1:SetOperation(c75030002.hspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030002+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030002+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030002)>=6 end) return Duel.GetFlagEffect(tp,75030002)>=6 end)
e2:SetTarget(c75030002.xxtg) e2:SetTarget(c75030002.xxtg)
e2:SetOperation(c75030002.xxop) e2:SetOperation(c75030002.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030002.global_check then if not c75030002.global_check then
c75030002.global_check=true c75030002.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030002.checkop) ge1:SetOperation(c75030002.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030002.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030002.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x5751) then if tc:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(tc:GetControler(),75030002,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030002,0,0,1)
end end
end end
function c75030002.hpbfil(c) function c75030002.hpbfil(c)
return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(75030002) and not c:IsPublic() return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(75030002) and not c:IsPublic()
end end
function c75030002.hspcost(e,tp,eg,ep,ev,re,r,rp,chk) function c75030002.hspcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75030002.hpbfil,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c75030002.hpbfil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c75030002.hpbfil,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c75030002.hpbfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function c75030002.hsptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030002.hsptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c75030002.hthfil(c) function c75030002.hthfil(c)
return c:IsAbleToHand() and c:IsSetCard(0x5751) and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsAbleToHand() and c:IsSetCard(0x5751) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c75030002.hspop(e,tp,eg,ep,ev,re,r,rp) function c75030002.hspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030002,0)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030002,0)) then
Duel.BreakEffect() Duel.BreakEffect()
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
end end
function c75030002.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030002.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
function c75030002.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030002.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030002,1)) e1:SetDescription(aux.Stringid(75030002,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030002) e1:SetCode(75030002)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetValue(HALF_DAMAGE) e2:SetValue(HALF_DAMAGE)
e2:SetCondition(function(e) e2:SetCondition(function(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsSetCard(0x5751) end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) end) return Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsSetCard(0x5751) end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) end)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
...@@ -8,94 +8,94 @@ function c75030003.initial_effect(c) ...@@ -8,94 +8,94 @@ function c75030003.initial_effect(c)
e0:SetValue(1) e0:SetValue(1)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--SpecialSummon --SpecialSummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,75030003) e1:SetCountLimit(1,75030003)
e1:SetCost(c75030003.hspcost) e1:SetCost(c75030003.hspcost)
e1:SetTarget(c75030003.hsptg) e1:SetTarget(c75030003.hsptg)
e1:SetOperation(c75030003.hspop) e1:SetOperation(c75030003.hspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030003+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030003+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030003)>=6 end) return Duel.GetFlagEffect(tp,75030003)>=6 end)
e2:SetTarget(c75030003.xxtg) e2:SetTarget(c75030003.xxtg)
e2:SetOperation(c75030003.xxop) e2:SetOperation(c75030003.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030003.global_check then if not c75030003.global_check then
c75030003.global_check=true c75030003.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030003.checkop) ge1:SetOperation(c75030003.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030003.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030003.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x5751) then if tc:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(tc:GetControler(),75030003,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030003,0,0,1)
end end
end end
function c75030003.hpbfil(c) function c75030003.hpbfil(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x5751) and not c:IsCode(75030003) and not c:IsPublic() return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x5751) and not c:IsCode(75030003) and not c:IsPublic()
end end
function c75030003.hspcost(e,tp,eg,ep,ev,re,r,rp,chk) function c75030003.hspcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75030003.hpbfil,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c75030003.hpbfil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c75030003.hpbfil,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c75030003.hpbfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function c75030003.hsptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030003.hsptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c75030003.hthfil(c) function c75030003.hthfil(c)
return c:IsAbleToHand() and c:IsType(TYPE_MONSTER) and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(75030003) return c:IsAbleToHand() and c:IsType(TYPE_MONSTER) and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(75030003)
end end
function c75030003.hspop(e,tp,eg,ep,ev,re,r,rp) function c75030003.hspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(c75030003.hthfil,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030003,0)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(c75030003.hthfil,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030003,0)) then
Duel.BreakEffect() Duel.BreakEffect()
local g=Duel.SelectMatchingCard(tp,c75030003.hthfil,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c75030003.hthfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(g,tp,REASON_EFFECT) Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c75030003.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030003.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
function c75030003.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030003.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030003,1)) e1:SetDescription(aux.Stringid(75030003,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030003) e1:SetCode(75030003)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetCondition(c75030003.damcon) e2:SetCondition(c75030003.damcon)
e2:SetOperation(c75030003.damop) e2:SetOperation(c75030003.damop)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c75030003.damcon(e,tp,eg,ep,ev,re,r,rp) function c75030003.damcon(e,tp,eg,ep,ev,re,r,rp)
local ac,bc=Duel.GetBattleMonster(tp) local ac,bc=Duel.GetBattleMonster(tp)
return ep~=tp and ac and ac:IsSetCard(0x5751) return ep~=tp and ac and ac:IsSetCard(0x5751)
end end
function c75030003.damop(e,tp,eg,ep,ev,re,r,rp) function c75030003.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev+800) Duel.ChangeBattleDamage(ep,ev+800)
end end
......
...@@ -2,57 +2,57 @@ ...@@ -2,57 +2,57 @@
function c75030004.initial_effect(c) function c75030004.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),4,2) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),4,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,75030004) e1:SetCountLimit(1,75030004)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end)
e1:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk) e1:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST) end) e:GetHandler():RemoveOverlayCard(tp,2,2,REASON_COST) end)
e1:SetTarget(c75030004.thtg) e1:SetTarget(c75030004.thtg)
e1:SetOperation(c75030004.thop) e1:SetOperation(c75030004.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk --atk
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_BATTLE_START) e2:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,25030004) e2:SetCountLimit(1,25030004)
e2:SetCondition(function(e) e2:SetCondition(function(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return Duel.GetTurnPlayer()==tp end) return Duel.GetTurnPlayer()==tp end)
e2:SetTarget(c75030004.atktg) e2:SetTarget(c75030004.atktg)
e2:SetOperation(c75030004.atkop) e2:SetOperation(c75030004.atkop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030004+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030004+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030004)>=6 end) return Duel.GetFlagEffect(tp,75030004)>=6 end)
e2:SetTarget(c75030004.xxtg) e2:SetTarget(c75030004.xxtg)
e2:SetOperation(c75030004.xxop) e2:SetOperation(c75030004.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030004.global_check then if not c75030004.global_check then
c75030004.global_check=true c75030004.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030004.checkop) ge1:SetOperation(c75030004.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030004.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030004.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x5751) then if tc:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(tc:GetControler(),75030004,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030004,0,0,1)
end end
end end
function c75030004.thfilter(c) function c75030004.thfilter(c)
...@@ -79,36 +79,36 @@ function c75030004.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,36 +79,36 @@ function c75030004.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER) e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e1:SetValue(2) e1:SetValue(2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
function c75030004.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030004.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
function c75030004.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030004.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030004,1)) e1:SetDescription(aux.Stringid(75030004,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030004) e1:SetCode(75030004)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(function(e,c) e2:SetTarget(function(e,c)
return c:IsSetCard(0x5751) end) return c:IsSetCard(0x5751) end)
e2:SetValue(1000) e2:SetValue(1000)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
......
...@@ -2,101 +2,101 @@ ...@@ -2,101 +2,101 @@
function c75030005.initial_effect(c) function c75030005.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),4,2) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),4,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--ov --ov
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,75030005) e1:SetCountLimit(1,75030005)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end)
e1:SetTarget(c75030005.ovtg) e1:SetTarget(c75030005.ovtg)
e1:SetOperation(c75030005.ovop) e1:SetOperation(c75030005.ovop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--rec --rec
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER) e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,25030005) e2:SetCountLimit(1,25030005)
e2:SetTarget(c75030005.rectg) e2:SetTarget(c75030005.rectg)
e2:SetOperation(c75030005.recop) e2:SetOperation(c75030005.recop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030005+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030005+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030005)>=6 end) return Duel.GetFlagEffect(tp,75030005)>=6 end)
e2:SetTarget(c75030005.xxtg) e2:SetTarget(c75030005.xxtg)
e2:SetOperation(c75030005.xxop) e2:SetOperation(c75030005.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030005.global_check then if not c75030005.global_check then
c75030005.global_check=true c75030005.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030005.checkop) ge1:SetOperation(c75030005.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030005.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030005.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x5751) then if tc:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(tc:GetControler(),75030005,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030005,0,0,1)
end end
end end
function c75030005.ovtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030005.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,LOCATION_GRAVE,LOCATION_GRAVE,2,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,LOCATION_GRAVE,LOCATION_GRAVE,2,nil) end
end end
function c75030005.ovop(e,tp,eg,ep,ev,re,r,rp) function c75030005.ovop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsCanOverlay,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil) local g=Duel.GetMatchingGroup(Card.IsCanOverlay,tp,LOCATION_GRAVE,LOCATION_GRAVE,nil)
if c:IsRelateToEffect(e) and g:GetCount()>=2 then if c:IsRelateToEffect(e) and g:GetCount()>=2 then
local og=g:Select(tp,2,2,nil) local og=g:Select(tp,2,2,nil)
Duel.Overlay(c,og) Duel.Overlay(c,og)
end end
end end
function c75030005.rectg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030005.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
local x=e:GetHandler():RemoveOverlayCard(tp,1,99,REASON_COST) local x=e:GetHandler():RemoveOverlayCard(tp,1,99,REASON_COST)
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(x*1000) Duel.SetTargetParam(x*1000)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,x*1000) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,x*1000)
end end
function c75030005.recop(e,tp,eg,ep,ev,re,r,rp) function c75030005.recop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT) Duel.Recover(p,d,REASON_EFFECT)
end end
function c75030005.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030005.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
function c75030005.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030005.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030005,1)) e1:SetDescription(aux.Stringid(75030005,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030005) e1:SetCode(75030005)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--draw count --draw count
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DRAW_COUNT) e2:SetCode(EFFECT_DRAW_COUNT)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetValue(2) e2:SetValue(2)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
......
...@@ -2,17 +2,17 @@ ...@@ -2,17 +2,17 @@
function c75030008.initial_effect(c) function c75030008.initial_effect(c)
c:SetUniqueOnField(1,0,75030008) c:SetUniqueOnField(1,0,75030008)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030008,1)) e1:SetDescription(aux.Stringid(75030008,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetTarget(c75030008.thtg) e1:SetTarget(c75030008.thtg)
e1:SetOperation(c75030008.thop) e1:SetOperation(c75030008.thop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -20,33 +20,33 @@ function c75030008.initial_effect(c) ...@@ -20,33 +20,33 @@ function c75030008.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030008,2)) e1:SetDescription(aux.Stringid(75030008,2))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetTarget(c75030008.sptg) e1:SetTarget(c75030008.sptg)
e1:SetOperation(c75030008.spop) e1:SetOperation(c75030008.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--immuse --immuse
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(function(e,c) e2:SetTarget(function(e,c)
return c:IsSetCard(0x5751) end) return c:IsSetCard(0x5751) end)
e2:SetValue(function(e,te) e2:SetValue(function(e,te)
return not te:GetOwner():IsSetCard(0x5751) end) return not te:GetOwner():IsSetCard(0x5751) end)
e2:SetCondition(function(e) e2:SetCondition(function(e)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE end) return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE end)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c75030008.thfilter(c) function c75030008.thfilter(c)
return c:IsSetCard(0x5751,0x3751) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x5751,0x3751) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c75030008.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030008.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75030008.thfilter,tp,LOCATION_DECK,0,1,nil) and e:GetHandler():GetFlagEffect(75030008)==0 end if chk==0 then return Duel.IsExistingMatchingCard(c75030008.thfilter,tp,LOCATION_DECK,0,1,nil) and e:GetHandler():GetFlagEffect(75030008)==0 end
e:GetHandler():RegisterFlagEffect(75030008,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(75030008,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c75030008.thop(e,tp,eg,ep,ev,re,r,rp) function c75030008.thop(e,tp,eg,ep,ev,re,r,rp)
...@@ -56,14 +56,14 @@ function c75030008.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,14 +56,14 @@ function c75030008.thop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function c75030008.spfil(c,e,tp) function c75030008.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x5751) return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsSetCard(0x5751)
end end
function c75030008.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030008.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75030008.spfil,tp,LOCATION_HAND,0,1,nil,e,tp) and e:GetHandler():GetFlagEffect(75030008)==0 end if chk==0 then return Duel.IsExistingMatchingCard(c75030008.spfil,tp,LOCATION_HAND,0,1,nil,e,tp) and e:GetHandler():GetFlagEffect(75030008)==0 end
e:GetHandler():RegisterFlagEffect(75030008,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(75030008,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c75030008.spop(e,tp,eg,ep,ev,re,r,rp) function c75030008.spop(e,tp,eg,ep,ev,re,r,rp)
...@@ -71,7 +71,7 @@ function c75030008.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -71,7 +71,7 @@ function c75030008.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c75030008.spfil,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c75030008.spfil,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
...@@ -22,7 +22,6 @@ function s.checkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -22,7 +22,6 @@ function s.checkop(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker() local a=Duel.GetAttacker()
if a:IsSetCard(0x5751) then if a:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(a:GetControler(),id,nil,0,1) Duel.RegisterFlagEffect(a:GetControler(),id,nil,0,1)
--Debug.Message("攻击次数:"..Duel.GetFlagEffect(a:GetControler(),id))
end end
end end
function s.cfilter(c) function s.cfilter(c)
......
--苍炎之圣击 奈菲尼 --苍炎之圣击 奈菲尼
function c75030013.initial_effect(c) function c75030013.initial_effect(c)
--SpecialSummon --SpecialSummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE) e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,75030002) e1:SetCountLimit(1,75030002)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end) return Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2 end)
e1:SetCost(c75030002.hspcost) e1:SetCost(c75030002.hspcost)
e1:SetTarget(c75030013.hsptg) e1:SetTarget(c75030013.hsptg)
e1:SetOperation(c75030013.hspop) e1:SetOperation(c75030013.hspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030002+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030002+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030002)>=6 end) return Duel.GetFlagEffect(tp,75030002)>=6 end)
e2:SetTarget(c75030013.xxtg) e2:SetTarget(c75030013.xxtg)
e2:SetOperation(c75030013.xxop) e2:SetOperation(c75030013.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030013.global_check then if not c75030013.global_check then
c75030013.global_check=true c75030013.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030013.checkop) ge1:SetOperation(c75030013.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030013.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030013.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x753) then if tc:IsSetCard(0x753) then
Duel.RegisterFlagEffect(tc:GetControler(),75030002,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030002,0,0,1)
end end
end end
function c75030013.hpbfil(c) function c75030013.hpbfil(c)
return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(75030013) and not c:IsPublic() return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) and not c:IsCode(75030013) and not c:IsPublic()
end end
function c75030013.hspcost(e,tp,eg,ep,ev,re,r,rp,chk) function c75030013.hspcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75030013.hpbfil,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c75030013.hpbfil,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.SelectMatchingCard(tp,c75030013.hpbfil,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c75030013.hpbfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
end end
function c75030013.hsptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030013.hsptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c75030013.hthfil(c) function c75030013.hthfil(c)
return c:IsAbleToHand() and c:IsSetCard(0x753) and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsAbleToHand() and c:IsSetCard(0x753) and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c75030013.hspop(e,tp,eg,ep,ev,re,r,rp) function c75030013.hspop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030013,0)) then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030013,0)) then
Duel.BreakEffect() Duel.BreakEffect()
local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
end end
function c75030013.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030013.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
function c75030013.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030013.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030013,1)) e1:SetDescription(aux.Stringid(75030013,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030013) e1:SetCode(75030013)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE) e2:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0) e2:SetTargetRange(1,0)
e2:SetValue(HALF_DAMAGE) e2:SetValue(HALF_DAMAGE)
e2:SetCondition(function(e) e2:SetCondition(function(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsSetCard(0x753) end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) end) return Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsSetCard(0x753) end,tp,LOCATION_MZONE+LOCATION_GRAVE,0,1,nil) end)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
--灭焰的神使 萨娜琪 --灭焰的神使 萨娜琪
function c75030020.initial_effect(c) function c75030020.initial_effect(c)
--return and spsummon --return and spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,75030020) e1:SetCountLimit(1,75030020)
e1:SetTarget(c75030020.hsptg) e1:SetTarget(c75030020.hsptg)
e1:SetOperation(c75030020.hspop) e1:SetOperation(c75030020.hspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--direct attack --direct attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DIRECT_ATTACK) e2:SetCode(EFFECT_DIRECT_ATTACK)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--spsummon --spsummon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,15030020) e3:SetCountLimit(1,15030020)
e3:SetTarget(c75030020.sptg) e3:SetTarget(c75030020.sptg)
e3:SetOperation(c75030020.spop) e3:SetOperation(c75030020.spop)
...@@ -31,10 +31,10 @@ end ...@@ -31,10 +31,10 @@ end
function c75030020.thfil(c,tp) function c75030020.thfil(c,tp)
return c:IsSetCard(0x5751,0x6751) and c:IsFaceup() and c:IsAbleToHand() and Duel.GetMZoneCount(tp,c)>0 return c:IsSetCard(0x5751,0x6751) and c:IsFaceup() and c:IsAbleToHand() and Duel.GetMZoneCount(tp,c)>0
end end
function c75030020.hsptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030020.hsptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false) if chk==0 then return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingTarget(c75030020.thfil,tp,LOCATION_MZONE,0,1,nil,tp) end and Duel.IsExistingTarget(c75030020.thfil,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c75030020.thfil,tp,LOCATION_MZONE,0,1,1,nil,tp) local g=Duel.SelectTarget(tp,c75030020.thfil,tp,LOCATION_MZONE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
...@@ -47,20 +47,20 @@ function c75030020.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,20 +47,20 @@ function c75030020.hspop(e,tp,eg,ep,ev,re,r,rp)
and tc:IsLocation(LOCATION_HAND) and c:IsRelateToChain() then and tc:IsLocation(LOCATION_HAND) and c:IsRelateToChain() then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c75030020.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030020.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end if chk==0 then return Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c75030020.spop(e,tp,eg,ep,ev,re,r,rp) function c75030020.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,1-tp,false,false,POS_FACEUP_DEFENSE)~=0 then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,1-tp,false,false,POS_FACEUP_DEFENSE)~=0 then
--indes --indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -77,7 +77,3 @@ end ...@@ -77,7 +77,3 @@ end
function c75030020.desop(e,tp,eg,ep,ev,re,r,rp) function c75030020.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(),REASON_EFFECT) Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end end
...@@ -2,54 +2,54 @@ ...@@ -2,54 +2,54 @@
function c75030022.initial_effect(c) function c75030022.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),aux.NonTuner(Card.IsRace,RACE_PYRO),1,1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),aux.NonTuner(Card.IsRace,RACE_PYRO),1,1)
c:EnableReviveLimit() c:EnableReviveLimit()
--SpecialSummon --SpecialSummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,75030022) e1:SetCountLimit(1,75030022)
e1:SetTarget(c75030022.sptg) e1:SetTarget(c75030022.sptg)
e1:SetOperation(c75030022.spop) e1:SetOperation(c75030022.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030022+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030022+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030022)>=6 end) return Duel.GetFlagEffect(tp,75030022)>=6 end)
e2:SetTarget(c75030022.xxtg) e2:SetTarget(c75030022.xxtg)
e2:SetOperation(c75030022.xxop) e2:SetOperation(c75030022.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030022.global_check then if not c75030022.global_check then
c75030022.global_check=true c75030022.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030022.checkop) ge1:SetOperation(c75030022.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030022.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030022.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x5751) then if tc:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(tc:GetControler(),75030022,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030022,0,0,1)
end end
end end
function c75030022.spfil(c,e,tp) function c75030022.spfil(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) and c:IsSetCard(0x5751) and Duel.IsExistingMatchingCard(c75030022.espfil,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) return c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) and c:IsSetCard(0x5751) and Duel.IsExistingMatchingCard(c75030022.espfil,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
end end
function c75030022.espfil(c,e,tp,sc) function c75030022.espfil(c,e,tp,sc)
return sc:IsCanBeXyzMaterial(c) and c:IsType(TYPE_XYZ) and c:IsSetCard(0x5751) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0 return sc:IsCanBeXyzMaterial(c) and c:IsType(TYPE_XYZ) and c:IsSetCard(0x5751) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end end
function c75030022.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030022.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingTarget(c75030022.spfil,tp,LOCATION_GRAVE,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingTarget(c75030022.spfil,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
local g=Duel.SelectTarget(tp,c75030022.spfil,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c75030022.spfil,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,2,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,2,tp,LOCATION_EXTRA)
end end
function c75030022.spop(e,tp,eg,ep,ev,re,r,rp) function c75030022.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
...@@ -57,7 +57,7 @@ function c75030022.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +57,7 @@ function c75030022.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)==0 then return end if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)==0 then return end
if not aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL) then return end if not aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sc=Duel.SelectMatchingCard(tp,c75030022.espfil,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc):GetFirst() local sc=Duel.SelectMatchingCard(tp,c75030022.espfil,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc):GetFirst()
if sc then if sc then
Duel.BreakEffect() Duel.BreakEffect()
sc:SetMaterial(Group.FromCards(tc)) sc:SetMaterial(Group.FromCards(tc))
...@@ -67,40 +67,28 @@ function c75030022.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,40 +67,28 @@ function c75030022.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c75030022.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030022.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
function c75030022.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030022.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030022,1)) e1:SetDescription(aux.Stringid(75030022,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030022) e1:SetCode(75030022)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
--damage --damage
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_DAMAGE) e2:SetCode(EVENT_DAMAGE)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and bit.band(r,REASON_EFFECT)~=0 end) return ep==tp and bit.band(r,REASON_EFFECT)~=0 end)
e2:SetOperation(c75030022.xdaop) e2:SetOperation(c75030022.xdaop)
Duel.RegisterEffect(e2,tp) Duel.RegisterEffect(e2,tp)
end end
function c75030022.xdaop(e,tp,eg,ep,ev,re,r,rp) function c75030022.xdaop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,75030022) Duel.Hint(HINT_CARD,0,75030022)
Duel.Damage(1-tp,ev,REASON_EFFECT) Duel.Damage(1-tp,ev,REASON_EFFECT)
end end
--漆黑的骑士 --漆黑的骑士
function c75030023.initial_effect(c) function c75030023.initial_effect(c)
--special summon condition --special summon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--SpecialSummon --SpecialSummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_BATTLE_DESTROYING) e1:SetCode(EVENT_BATTLE_DESTROYING)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_DECK) e1:SetRange(LOCATION_DECK)
e1:SetCondition(c75030023.spcon) e1:SetCondition(c75030023.spcon)
e1:SetCost(c75030023.spcost) e1:SetCost(c75030023.spcost)
e1:SetTarget(c75030023.sptg) e1:SetTarget(c75030023.sptg)
e1:SetOperation(c75030023.spop) e1:SetOperation(c75030023.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--cannot target --cannot target
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
...@@ -25,117 +25,112 @@ function c75030023.initial_effect(c) ...@@ -25,117 +25,112 @@ function c75030023.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetValue(aux.tgoval) e2:SetValue(aux.tgoval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_QUICK_F) e3:SetType(EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_BE_BATTLE_TARGET) e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c75030023.atkcon) e3:SetCondition(c75030023.atkcon)
e3:SetTarget(c75030023.xxtg1) e3:SetTarget(c75030023.xxtg1)
e3:SetOperation(c75030023.xxop1) e3:SetOperation(c75030023.xxop1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_NEGATE) e3:SetCategory(CATEGORY_NEGATE)
e3:SetType(EFFECT_TYPE_QUICK_F) e3:SetType(EFFECT_TYPE_QUICK_F)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c75030023.tgcon) e3:SetCondition(c75030023.tgcon)
e3:SetTarget(c75030023.xxtg2) e3:SetTarget(c75030023.xxtg2)
e3:SetOperation(c75030023.xxop2) e3:SetOperation(c75030023.xxop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
-- --
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(75030023,1)) e4:SetDescription(aux.Stringid(75030023,1))
e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_FREE_CHAIN) e4:SetCode(EVENT_FREE_CHAIN)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetProperty(EFFECT_FLAG_NO_TURN_RESET) e4:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1) e4:SetCountLimit(1)
e4:SetTarget(c75030023.idtg) e4:SetTarget(c75030023.idtg)
e4:SetOperation(c75030023.idop) e4:SetOperation(c75030023.idop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c75030023.spcon(e,tp,eg,ep,ev,re,r,rp) function c75030023.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetFirst():IsCode(75030004) return eg:GetFirst():IsCode(75030004)
end end
function c75030023.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c75030023.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end if chk==0 then return not e:GetHandler():IsPublic() end
Duel.ConfirmCards(1-tp,e:GetHandler()) Duel.ConfirmCards(1-tp,e:GetHandler())
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
end end
function c75030023.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030023.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false,POS_FACEUP_ATTACK) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 end if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,true,false,POS_FACEUP_ATTACK) and Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c75030023.spop(e,tp,eg,ep,ev,re,r,rp) function c75030023.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,1-tp,true,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,1-tp,true,false,POS_FACEUP)
end end
end end
function c75030023.atkcon(e,tp,eg,ep,ev,re,r,rp) function c75030023.atkcon(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttackTarget() local at=Duel.GetAttackTarget()
return at:IsFaceup() and at:IsCode(75030024) return at:IsFaceup() and at:IsCode(75030024)
end end
function c75030023.cfilter(c,tp) function c75030023.cfilter(c,tp)
return c:IsFaceup() and c:IsCode(75030024) and c:IsLocation(LOCATION_MZONE) return c:IsFaceup() and c:IsCode(75030024) and c:IsLocation(LOCATION_MZONE)
end end
function c75030023.tgcon(e,tp,eg,ep,ev,re,r,rp) function c75030023.tgcon(e,tp,eg,ep,ev,re,r,rp)
if rp~=1-tp or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if rp~=1-tp or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
return g and g:IsExists(c75030023.cfilter,1,nil,tp) return g and g:IsExists(c75030023.cfilter,1,nil,tp)
end
function c75030023.xxtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetControler()~=e:GetHandler():GetOwner() and e:GetHandler():IsControlerCanBeChanged() and e:GetHandler():GetFlagEffect(75030023)==0 end
e:GetHandler():RegisterFlagEffect(75030023,RESET_EVENT+RESETS_STANDARD,0,1)
end end
function c75030023.xxtg2(e,tp,eg,ep,ev,re,r,rp,chk) function c75030023.xxtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetControler()~=e:GetHandler():GetOwner() and e:GetHandler():IsControlerCanBeChanged() and e:GetHandler():GetFlagEffect(75030023)==0 end if chk==0 then return e:GetHandler():GetControler()~=e:GetHandler():GetOwner() and e:GetHandler():IsControlerCanBeChanged() and e:GetHandler():GetFlagEffect(75030023)==0 end
e:GetHandler():RegisterFlagEffect(75030023,RESET_EVENT+RESETS_STANDARD,0,1) e:GetHandler():RegisterFlagEffect(75030023,RESET_EVENT+RESETS_STANDARD,0,1)
end
function c75030023.xxtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetControler()~=e:GetHandler():GetOwner() and e:GetHandler():IsControlerCanBeChanged() and e:GetHandler():GetFlagEffect(75030023)==0 end
e:GetHandler():RegisterFlagEffect(75030023,RESET_EVENT+RESETS_STANDARD,0,1)
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
end end
function c75030023.xxop1(e,tp,eg,ep,ev,re,r,rp) function c75030023.xxop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:GetControler()~=c:GetOwner() and Duel.GetControl(c,c:GetOwner()) then if c:IsRelateToEffect(e) and c:GetControler()~=c:GetOwner() and Duel.GetControl(c,c:GetOwner()) then
Duel.NegateAttack() Duel.NegateAttack()
end end
end end
function c75030023.xxop2(e,tp,eg,ep,ev,re,r,rp) function c75030023.xxop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:GetControler()~=c:GetOwner() and Duel.GetControl(c,c:GetOwner()) then if c:IsRelateToEffect(e) and c:GetControler()~=c:GetOwner() and Duel.GetControl(c,c:GetOwner()) then
Duel.NegateActivation(ev) Duel.NegateActivation(ev)
end end
end end
function c75030023.idtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030023.idtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end
end end
function c75030023.idop(e,tp,eg,ep,ev,re,r,rp) function c75030023.idop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
--indes --indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030023,1)) e1:SetDescription(aux.Stringid(75030023,1))
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE) e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
end end
end end
end end
--晓女纹章士 米卡娅 --晓女纹章士 米卡娅
function c75030024.initial_effect(c) function c75030024.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DESTROYED) e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE) e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,75030024) e1:SetCountLimit(1,75030024)
e1:SetCondition(c75030024.spcon) e1:SetCondition(c75030024.spcon)
e1:SetTarget(c75030024.sptg) e1:SetTarget(c75030024.sptg)
e1:SetOperation(c75030024.spop) e1:SetOperation(c75030024.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY) e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030024) e2:SetCountLimit(1,15030024)
e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk) e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000) end) Duel.PayLPCost(tp,1000) end)
...@@ -26,9 +26,9 @@ function c75030024.initial_effect(c) ...@@ -26,9 +26,9 @@ function c75030024.initial_effect(c)
e2:SetOperation(c75030024.seqop) e2:SetOperation(c75030024.seqop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c75030024.spckfil(c,tp) function c75030024.spckfil(c,tp)
return c:IsSetCard(0x6751,0x3751) and c:IsPreviousControler(tp) return c:IsSetCard(0x6751,0x3751) and c:IsPreviousControler(tp)
end end
function c75030024.spcon(e,tp,eg,ep,ev,re,r,rp) function c75030024.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c75030024.spckfil,1,nil,tp) return eg:IsExists(c75030024.spckfil,1,nil,tp)
end end
...@@ -44,10 +44,10 @@ function c75030024.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,10 +44,10 @@ function c75030024.spop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT) e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED) e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
end end
end end
function c75030024.desfilter(c) function c75030024.desfilter(c)
...@@ -89,36 +89,29 @@ function c75030024.seqtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -89,36 +89,29 @@ function c75030024.seqtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_ZONE,tp,flag) Duel.Hint(HINT_ZONE,tp,flag)
local seq=math.log(flag,2) local seq=math.log(flag,2)
e:SetLabel(seq) e:SetLabel(seq)
local g=Duel.GetMatchingGroup(c75030024.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp) local g=Duel.GetMatchingGroup(c75030024.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp)
end end
function c75030024.seqop(e,tp,eg,ep,ev,re,r,rp) function c75030024.seqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local seq=e:GetLabel() local seq=e:GetLabel()
local g=Duel.GetMatchingGroup(c75030024.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp) local g=Duel.GetMatchingGroup(c75030024.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.HintSelection(g) Duel.HintSelection(g)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
--indes --indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
end end
end end
end end
...@@ -2,76 +2,68 @@ ...@@ -2,76 +2,68 @@
function c75030025.initial_effect(c) function c75030025.initial_effect(c)
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c75030025.mfilter,c75030025.xyzcheck,2,2) aux.AddXyzProcedureLevelFree(c,c75030025.mfilter,c75030025.xyzcheck,2,2)
--draw and remove --draw and remove
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_DRAW) e1:SetCategory(CATEGORY_REMOVE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,75030025) e1:SetCountLimit(1,75030025)
e1:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk) e1:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) end) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) end)
e1:SetTarget(c75030025.drrtg) e1:SetTarget(c75030025.drrtg)
e1:SetOperation(c75030025.drrop) e1:SetOperation(c75030025.drrop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--SpecialSummon --SpecialSummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetCountLimit(1,15030025) e2:SetCountLimit(1,15030025)
e2:SetCondition(function(e) e2:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end)
e2:SetTarget(c75030025.sptg) e2:SetTarget(c75030025.sptg)
e2:SetOperation(c75030025.spop) e2:SetOperation(c75030025.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c75030025.mfilter(c,xyzc) function c75030025.mfilter(c,xyzc)
return c:IsXyzType(TYPE_XYZ) and c:IsRace(RACE_PYRO) return c:IsXyzType(TYPE_XYZ) and c:IsRace(RACE_PYRO)
end end
function c75030025.xyzcheck(g) function c75030025.xyzcheck(g)
return g:GetClassCount(Card.GetRank)==1 return g:GetClassCount(Card.GetRank)==1
end end
function c75030025.drrtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030025.drrtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsAbleToRemove() end,tp,0,LOCATION_SZONE,1,nil) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsAbleToRemove() end,tp,0,LOCATION_SZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_SZONE) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_SZONE)
end end
function c75030025.drrop(e,tp,eg,ep,ev,re,r,rp) function c75030025.drrop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.Draw(tp,1,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsAbleToRemove() end,tp,0,LOCATION_SZONE,1,nil) then if Duel.Draw(tp,1,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(function(c) return c:GetSequence()<5 and c:IsAbleToRemove() end,tp,0,LOCATION_SZONE,1,nil) then
local rg=Duel.SelectMatchingCard(tp,function(c) return c:GetSequence()<5 and c:IsAbleToRemove() end,tp,0,LOCATION_SZONE,1,1,nil) local rg=Duel.SelectMatchingCard(tp,function(c) return c:GetSequence()<5 and c:IsAbleToRemove() end,tp,0,LOCATION_SZONE,1,1,nil)
Duel.Remove(rg,POS_FACEUP,REASON_EFFECT) Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end end
end end
function c75030025.spfil(c,e,tp) function c75030025.spfil(c,e,tp)
return c:IsSetCard(0x5751,0x6751) and not c:IsCode(75030025) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x5751,0x6751) and not c:IsCode(75030025) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c75030025.spgck(g,e,tp) function c75030025.spgck(g,e,tp)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>=g:GetCount() and g:GetCount()==g:GetClassCount(Card.GetCode) and not Duel.IsPlayerAffectedByEffect(tp,59822133) return Duel.GetLocationCount(tp,LOCATION_MZONE)>=g:GetCount() and g:GetCount()==g:GetClassCount(Card.GetCode) and not Duel.IsPlayerAffectedByEffect(tp,59822133)
end end
function c75030025.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030025.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c75030025.spfil,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp) local g=Duel.GetMatchingGroup(c75030025.spfil,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp)
if chk==0 then return g:CheckSubGroup(c75030025.spgck,2,2,e,tp) end if chk==0 then return g:CheckSubGroup(c75030025.spgck,2,2,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED)
end end
function c75030025.spop(e,tp,eg,ep,ev,re,r,rp) function c75030025.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c75030025.spfil,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp) local g=Duel.GetMatchingGroup(c75030025.spfil,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e,tp)
if g:CheckSubGroup(c75030025.spgck,2,2,e,tp) then if g:CheckSubGroup(c75030025.spgck,2,2,e,tp) then
local sg=g:SelectSubGroup(tp,c75030025.spgck,false,2,2,e,tp) local sg=g:SelectSubGroup(tp,c75030025.spgck,false,2,2,e,tp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
...@@ -2,132 +2,130 @@ ...@@ -2,132 +2,130 @@
function c75030026.initial_effect(c) function c75030026.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),4,2) aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_PYRO),4,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--xxx --xxx
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW) e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCountLimit(1,75030026) e1:SetCountLimit(1,75030026)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end) return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ) end)
e1:SetTarget(c75030026.xxxtg) e1:SetTarget(c75030026.xxxtg)
e1:SetOperation(c75030026.xxxop) e1:SetOperation(c75030026.xxxop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--xx --xx
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030026+EFFECT_COUNT_CODE_DUEL) e2:SetCountLimit(1,15030026+EFFECT_COUNT_CODE_DUEL)
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,75030026)>=6 end) return Duel.GetFlagEffect(tp,75030026)>=6 end)
e2:SetTarget(c75030026.xxtg) e2:SetTarget(c75030026.xxtg)
e2:SetOperation(c75030026.xxop) e2:SetOperation(c75030026.xxop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if not c75030026.global_check then if not c75030026.global_check then
c75030026.global_check=true c75030026.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE) ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c75030026.checkop) ge1:SetOperation(c75030026.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
c75030026.toss_coin=true c75030026.toss_coin=true
function c75030026.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030026.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttacker() local tc=Duel.GetAttacker()
if tc:IsSetCard(0x5751) then if tc:IsSetCard(0x5751) then
Duel.RegisterFlagEffect(tc:GetControler(),75030026,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),75030026,0,0,1)
end end
end end
function c75030026.xxxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030026.xxxtg(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=(Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_STANDBY) and Duel.IsAbleToEnterBP() local b1=(Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_STANDBY) and Duel.IsAbleToEnterBP()
local b2=(Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsRace(RACE_PYRO) end,tp,LOCATION_MZONE,0,1,nil) local b2=(Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsRace(RACE_PYRO) end,tp,LOCATION_MZONE,0,1,nil)
local b3=(Duel.GetCurrentPhase()==PHASE_MAIN2 or Duel.GetCurrentPhase()==PHASE_END) and Duel.IsPlayerCanDraw(tp,2) local b3=(Duel.GetCurrentPhase()==PHASE_MAIN2 or Duel.GetCurrentPhase()==PHASE_END) and Duel.IsPlayerCanDraw(tp,2)
if chk==0 then return (b1 or b2 or b3) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,0,2,nil) end if chk==0 then return (b1 or b2 or b3) and Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,0,2,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,2,tp,LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,2,tp,LOCATION_ONFIELD)
if b3 then if b3 then
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end end
end end
function c75030026.xxxop(e,tp,eg,ep,ev,re,r,rp) function c75030026.xxxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local b1=(Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_STANDBY) and Duel.IsAbleToEnterBP() local b1=(Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_STANDBY) and Duel.IsAbleToEnterBP()
local b2=(Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsRace(RACE_PYRO) end,tp,LOCATION_MZONE,0,1,nil) local b2=(Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and Duel.IsExistingMatchingCard(function(c) return c:IsFaceup() and c:IsRace(RACE_PYRO) end,tp,LOCATION_MZONE,0,1,nil)
local b3=(Duel.GetCurrentPhase()==PHASE_MAIN2 or Duel.GetCurrentPhase()==PHASE_END) and Duel.IsPlayerCanDraw(tp,2) local b3=(Duel.GetCurrentPhase()==PHASE_MAIN2 or Duel.GetCurrentPhase()==PHASE_END) and Duel.IsPlayerCanDraw(tp,2)
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,0,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,0,nil)
if g:GetCount()>=2 then if g:GetCount()>=2 then
local sg=g:Select(tp,2,2,nil) local sg=g:Select(tp,2,2,nil)
if Duel.SendtoGrave(sg,REASON_EFFECT)~=0 then if Duel.SendtoGrave(sg,REASON_EFFECT)~=0 then
local p=Duel.GetTurnPlayer() local p=Duel.GetTurnPlayer()
if b1 then if b1 then
Duel.SkipPhase(p,PHASE_STANDBY,RESET_PHASE+PHASE_END,1) Duel.SkipPhase(p,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(p,PHASE_MAIN1,RESET_PHASE+PHASE_END,1) Duel.SkipPhase(p,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_EP) e1:SetCode(EFFECT_CANNOT_EP)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_BATTLE) e1:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
elseif b2 then elseif b2 then
local g=Duel.GetMatchingGroup(function(c) return c:IsFaceup() and c:IsRace(RACE_PYRO) end,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(function(c) return c:IsFaceup() and c:IsRace(RACE_PYRO) end,tp,LOCATION_MZONE,0,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(700) e1:SetValue(700)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
tc=g:GetNext() tc=g:GetNext()
end end
elseif b3 then elseif b3 then
Duel.Draw(tp,2,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
end end
end end
end end
end end
function c75030026.xxtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030026.xxtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
function c75030026.xxop(e,tp,eg,ep,ev,re,r,rp) function c75030026.xxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75030026,1)) e1:SetDescription(aux.Stringid(75030026,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(75030026) e1:SetCode(75030026)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_BATTLE_START) e1:SetCode(EVENT_BATTLE_START)
e1:SetCondition(c75030026.bxxcon) e1:SetCondition(c75030026.bxxcon)
e1:SetOperation(c75030026.bxxop) e1:SetOperation(c75030026.bxxop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c75030026.bxxcon(e,tp,eg,ep,ev,re,r,rp) function c75030026.bxxcon(e,tp,eg,ep,ev,re,r,rp)
local a,b=Duel.GetBattleMonster(tp) local a,b=Duel.GetBattleMonster(tp)
return a and b and a:IsSetCard(0x5751) return a and b and a:IsSetCard(0x5751)
end end
function c75030026.bxxop(e,tp,eg,ep,ev,re,r,rp) function c75030026.bxxop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local a,b=Duel.GetBattleMonster(tp) local a,b=Duel.GetBattleMonster(tp)
local x1,x2=Duel.TossCoin(tp,2) local x1,x2=Duel.TossCoin(tp,2)
if x1+x2==2 then if x1+x2==2 then
Duel.Remove(b,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(b,POS_FACEDOWN,REASON_EFFECT)
end end
end end
...@@ -4,7 +4,7 @@ function c75030028.initial_effect(c) ...@@ -4,7 +4,7 @@ function c75030028.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,75030028) e1:SetCountLimit(1,75030028)
e1:SetCost(c75030028.cost) e1:SetCost(c75030028.cost)
e1:SetTarget(c75030028.target) e1:SetTarget(c75030028.target)
...@@ -14,25 +14,25 @@ function c75030028.initial_effect(c) ...@@ -14,25 +14,25 @@ function c75030028.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetTarget(c75030028.reptg) e2:SetTarget(c75030028.reptg)
e2:SetValue(c75030028.repval) e2:SetValue(c75030028.repval)
e2:SetOperation(c75030028.repop) e2:SetOperation(c75030028.repop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c75030028.pbfil(c) function c75030028.pbfil(c)
return not c:IsPublic() and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT) return not c:IsPublic() and c:IsRace(RACE_PYRO) and c:IsAttribute(ATTRIBUTE_LIGHT)
end end
function c75030028.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c75030028.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
e:SetLabel(0) e:SetLabel(0)
if Duel.IsExistingMatchingCard(c75030028.pbfil,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030028,0)) then if Duel.IsExistingMatchingCard(c75030028.pbfil,tp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030028,0)) then
local pg=Duel.SelectMatchingCard(tp,c75030028.pbfil,tp,LOCATION_HAND,0,1,1,nil) local pg=Duel.SelectMatchingCard(tp,c75030028.pbfil,tp,LOCATION_HAND,0,1,1,nil)
Duel.ConfirmCards(1-tp,pg) Duel.ConfirmCards(1-tp,pg)
Duel.ShuffleHand(tp) Duel.ShuffleHand(tp)
e:SetLabel(1) e:SetLabel(1)
end end
end end
function c75030028.spfil(c,e,tp) function c75030028.spfil(c,e,tp)
return c:IsSetCard(0x5751,0x6751) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x5751,0x6751) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
...@@ -41,18 +41,18 @@ function c75030028.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -41,18 +41,18 @@ function c75030028.target(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(c75030028.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c75030028.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function c75030028.thfil(c) function c75030028.thfil(c)
return c:IsAbleToHand() and c:IsSetCard(0x5751,0x6751) and c:IsType(TYPE_MONSTER) return c:IsAbleToHand() and c:IsSetCard(0x5751,0x6751) and c:IsType(TYPE_MONSTER)
end end
function c75030028.activate(e,tp,eg,ep,ev,re,r,rp) function c75030028.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c75030028.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c75030028.spfil,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and e:GetLabel()==1 and Duel.IsExistingMatchingCard(c75030028.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030028,1)) then if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0 and e:GetLabel()==1 and Duel.IsExistingMatchingCard(c75030028.thfil,tp,LOCATION_DECK,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(75030028,1)) then
local sg=Duel.SelectMatchingCard(tp,c75030028.thfil,tp,LOCATION_DECK,0,1,1,nil) local sg=Duel.SelectMatchingCard(tp,c75030028.thfil,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoHand(sg,tp,REASON_EFFECT) Duel.SendtoHand(sg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg) Duel.ConfirmCards(1-tp,sg)
end end
end end
function c75030028.repfilter(c,tp) function c75030028.repfilter(c,tp)
...@@ -69,4 +69,3 @@ end ...@@ -69,4 +69,3 @@ end
function c75030028.repop(e,tp,eg,ep,ev,re,r,rp) function c75030028.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT)
end end
--传承之苍炎 神将艾克 --传承之苍炎 神将艾克
function c75030029.initial_effect(c) function c75030029.initial_effect(c)
--xyz summon --xyz summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddXyzProcedure(c,nil,12,99,c75030029.ovfilter,nil,99,c75030029.xyzop) aux.AddXyzProcedure(c,nil,12,99,c75030029.ovfilter,nil,99,c75030029.xyzop)
--splimit --splimit
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE) e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION) e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0) c:RegisterEffect(e0)
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SPSUMMON_SUCCESS) e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetOperation(function(e,tp,eg,ep,ev,re,r,rp) e0:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetTargetRange(1,0)
e1:SetTarget(function(e,c) e1:SetTarget(function(e,c)
return c:IsCode(75030029) end) return c:IsCode(75030029) end)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end) end)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--cannot target --cannot target
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(aux.tgoval) e1:SetValue(aux.tgoval)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return e:GetHandler():GetOverlayCount()>0 end) return e:GetHandler():GetOverlayCount()>0 end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT) e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(function(e,te) e1:SetValue(function(e,te)
return e:GetOwnerPlayer()~=te:GetOwnerPlayer() and te:IsActiveType(TYPE_SPELL) end) return e:GetOwnerPlayer()~=te:GetOwnerPlayer() and te:IsActiveType(TYPE_SPELL) end)
e1:SetCondition(function(e) e1:SetCondition(function(e)
return e:GetHandler():GetOverlayCount()>0 end) return e:GetHandler():GetOverlayCount()>0 end)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--sb --sb
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE) e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_PHASE+PHASE_BATTLE_START) e2:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetTarget(c75030029.negtg) e2:SetTarget(c75030029.negtg)
e2:SetOperation(c75030029.negop) e2:SetOperation(c75030029.negop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BATTLE_START) e3:SetCode(EVENT_BATTLE_START)
e3:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk) e3:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) end) e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST) end)
e3:SetTarget(c75030029.bttg) e3:SetTarget(c75030029.bttg)
e3:SetOperation(c75030029.btop) e3:SetOperation(c75030029.btop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -69,40 +68,40 @@ function c75030029.initial_effect(c) ...@@ -69,40 +68,40 @@ function c75030029.initial_effect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DAMAGE_STEP_END) ge1:SetCode(EVENT_DAMAGE_STEP_END)
ge1:SetOperation(c75030029.checkop) ge1:SetOperation(c75030029.checkop)
Duel.RegisterEffect(ge1,0) Duel.RegisterEffect(ge1,0)
end end
end end
function c75030029.ovfilter(c) function c75030029.ovfilter(c)
return c:IsFaceup() and c:IsCode(75030004) return c:IsFaceup() and c:IsCode(75030004)
end end
function c75030029.xyzop(e,tp,chk) function c75030029.xyzop(e,tp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,75030029)~=0 end if chk==0 then return Duel.GetFlagEffect(tp,75030029)~=0 end
end end
function c75030029.checkop(e,tp,eg,ep,ev,re,r,rp) function c75030029.checkop(e,tp,eg,ep,ev,re,r,rp)
local a,b=Duel.GetBattleMonster(0) local a,b=Duel.GetBattleMonster(0)
local g=Group.FromCards(a,b) local g=Group.FromCards(a,b)
if a and b and g:IsExists(Card.IsCode,1,nil,75030004) and g:IsExists(Card.IsCode,1,nil,75030023) and a:IsOnField() and a:IsRelateToBattle() and b:IsOnField() and b:IsRelateToBattle() then if a and b and g:IsExists(Card.IsCode,1,nil,75030004) and g:IsExists(Card.IsCode,1,nil,75030023) and a:IsOnField() and a:IsRelateToBattle() and b:IsOnField() and b:IsRelateToBattle() then
Duel.RegisterFlagEffect(0,75030029,0,0,0) Duel.RegisterFlagEffect(0,75030029,0,0,0)
Duel.RegisterFlagEffect(1,75030029,0,0,0) Duel.RegisterFlagEffect(1,75030029,0,0,0)
end end
end end
function c75030029.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030029.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
end end
function c75030029.negop(e,tp,eg,ep,ev,re,r,rp) function c75030029.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
...@@ -112,28 +111,28 @@ function c75030029.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -112,28 +111,28 @@ function c75030029.negop(e,tp,eg,ep,ev,re,r,rp)
local e3=e1:Clone() local e3=e1:Clone()
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER) e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end end
tc=g:GetNext() tc=g:GetNext()
end end
end end
end end
function c75030029.bttg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030029.bttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
end end
function c75030029.btop(e,tp,eg,ep,ev,re,r,rp) function c75030029.btop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e2:SetCondition(c75030029.damcon) e2:SetCondition(c75030029.damcon)
e2:SetOperation(c75030029.damop) e2:SetOperation(c75030029.damop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_DAMAGE_CAL)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c75030029.damcon(e,tp,eg,ep,ev,re,r,rp) function c75030029.damcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp return ep~=tp
end end
function c75030029.damop(e,tp,eg,ep,ev,re,r,rp) function c75030029.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,ev*2) Duel.ChangeBattleDamage(ep,ev*2)
Duel.Recover(tp,ev*2,REASON_EFFECT) Duel.Recover(tp,ev*2,REASON_EFFECT)
end end
...@@ -16,15 +16,15 @@ function cm.initial_effect(c) ...@@ -16,15 +16,15 @@ function cm.initial_effect(c)
e1:SetOperation(cm.lvop) e1:SetOperation(cm.lvop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--battle atkup --battle atkup
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_RECOVER) e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_RECOVER)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,m+10000000) e1:SetCountLimit(1,m+10000000)
e1:SetCost(cm.cost) e1:SetCost(cm.cost)
e1:SetOperation(cm.op) e1:SetOperation(cm.op)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() return c:IsFaceup()
...@@ -38,7 +38,7 @@ end ...@@ -38,7 +38,7 @@ end
function cm.lvop(e,tp,eg,ep,ev,re,r,rp) function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET) e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
...@@ -51,14 +51,14 @@ function cm.lvop(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,14 +51,14 @@ function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.bttg(e,c) function cm.bttg(e,c)
return c~=e:GetHandler() return c~=e:GetHandler()
end end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local g=e:GetHandler():GetOverlayGroup() local g=e:GetHandler():GetOverlayGroup()
local ct=g:GetCount() local ct=g:GetCount()
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,ct,REASON_COST) end if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,ct,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,ct,ct,REASON_COST) e:GetHandler():RemoveOverlayCard(tp,ct,ct,REASON_COST)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
--atk change --atk change
...@@ -73,7 +73,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,7 +73,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetOperation(cm.atkop) e3:SetOperation(cm.atkop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--draw(battle) --draw(battle)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
...@@ -103,7 +103,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -103,7 +103,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
e2:SetValue(math.ceil(atk/2)) e2:SetValue(math.ceil(atk/2))
c:RegisterEffect(e2) c:RegisterEffect(e2)
if tc:IsFaceup() and tc:IsRelateToBattle(e) and not tc:IsImmuneToEffect(e) then if tc:IsFaceup() and tc:IsRelateToBattle(e) and not tc:IsImmuneToEffect(e) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateDuel(e)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE_CAL) e1:SetReset(RESET_PHASE+PHASE_DAMAGE_CAL)
...@@ -117,4 +117,4 @@ function cm.drcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -117,4 +117,4 @@ function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.drop(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(tp,math.ceil(ev/2),REASON_EFFECT) Duel.Recover(tp,math.ceil(ev/2),REASON_EFFECT)
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ function s.initial_effect(c) ...@@ -5,7 +5,7 @@ function s.initial_effect(c)
e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY+CATEGORY_DRAW) e1:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_SPSUMMON) e1:SetCode(EVENT_SPSUMMON)
e1:SetCountLimit(1,id+o) e1:SetCountLimit(1,id)
e1:SetCondition(s.condition) e1:SetCondition(s.condition)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--activate --activate
aux.AddXyzProcedure(c,nil,5,3) aux.AddXyzProcedure(c,nil,5,3)
c:EnableReviveLimit() c:EnableReviveLimit()
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE) e2:SetCategory(CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_PHASE+PHASE_BATTLE_START) e2:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetTarget(s.negtg) e2:SetTarget(s.negtg)
e2:SetOperation(s.negop) e2:SetOperation(s.negop)
...@@ -54,28 +54,27 @@ function s.initial_effect(c) ...@@ -54,28 +54,27 @@ function s.initial_effect(c)
e1:SetOperation(s.atkop) e1:SetOperation(s.atkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function s.econ(e) function s.econ(e)
return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,75030004) return e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,75030004)
end end
-----jiance -----jiance
function s.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
end end
function s.negop(e,tp,eg,ep,ev,re,r,rp) function s.negop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(aux.NegateAnyFilter,tp,0,LOCATION_ONFIELD,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
...@@ -85,12 +84,11 @@ function s.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,12 +84,11 @@ function s.negop(e,tp,eg,ep,ev,re,r,rp)
local e3=e1:Clone() local e3=e1:Clone()
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER) e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
end end
tc=g:GetNext() tc=g:GetNext()
end end
end end
end end
function s.efilter(e,te) function s.efilter(e,te)
return te:IsActiveType(TYPE_MONSTER) and te:GetOwnerPlayer()~=e:GetHandlerPlayer() return te:IsActiveType(TYPE_MONSTER) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end end
...@@ -101,7 +99,6 @@ function s.lv_or_rk(c) ...@@ -101,7 +99,6 @@ function s.lv_or_rk(c)
if c:IsType(TYPE_XYZ) then return c:GetRank() if c:IsType(TYPE_XYZ) then return c:GetRank()
else return c:GetLevel() end else return c:GetLevel() end
end end
function s.atkcon(e,tp,eg,ep,ev,re,r,rp) function s.atkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
...@@ -123,4 +120,4 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -123,4 +120,4 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
end end
\ No newline at end of file
--拂晓纹章士 米卡娅 --拂晓纹章士 米卡娅
function c75030040.initial_effect(c) function c75030040.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_DESTROYED) e1:SetCode(EVENT_DESTROYED)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE) e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCountLimit(1,75030040) e1:SetCountLimit(1,75030040)
e1:SetCondition(c75030040.spcon) e1:SetCondition(c75030040.spcon)
e1:SetTarget(c75030040.sptg) e1:SetTarget(c75030040.sptg)
e1:SetOperation(c75030040.spop) e1:SetOperation(c75030040.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DESTROY) e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,15030040) e2:SetCountLimit(1,75030041)
e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk) e2:SetCost(function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000) end) Duel.PayLPCost(tp,1000) end)
...@@ -26,9 +26,9 @@ function c75030040.initial_effect(c) ...@@ -26,9 +26,9 @@ function c75030040.initial_effect(c)
e2:SetOperation(c75030040.seqop) e2:SetOperation(c75030040.seqop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c75030040.spckfil(c,tp) function c75030040.spckfil(c,tp)
return c:IsSetCard(0x6751,0x3751) and c:IsPreviousControler(tp) return c:IsSetCard(0x6751,0x3751) and c:IsPreviousControler(tp)
end end
function c75030040.spcon(e,tp,eg,ep,ev,re,r,rp) function c75030040.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c75030040.spckfil,1,nil,tp) return eg:IsExists(c75030040.spckfil,1,nil,tp)
end end
...@@ -89,36 +89,29 @@ function c75030040.seqtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -89,36 +89,29 @@ function c75030040.seqtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_ZONE,tp,flag) Duel.Hint(HINT_ZONE,tp,flag)
local seq=math.log(flag,2) local seq=math.log(flag,2)
e:SetLabel(seq) e:SetLabel(seq)
local g=Duel.GetMatchingGroup(c75030040.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp) local g=Duel.GetMatchingGroup(c75030040.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp)
end end
function c75030040.seqop(e,tp,eg,ep,ev,re,r,rp) function c75030040.seqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local seq=e:GetLabel() local seq=e:GetLabel()
local g=Duel.GetMatchingGroup(c75030040.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp) local g=Duel.GetMatchingGroup(c75030040.seqfilter,tp,LOCATION_ONFIELD,0,nil,seq,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.HintSelection(g) Duel.HintSelection(g)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
--indes --indes
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
tc=g:GetNext() tc=g:GetNext()
end end
end end
end end
...@@ -12,7 +12,7 @@ function s.initial_effect(c) ...@@ -12,7 +12,7 @@ function s.initial_effect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,id)
e2:SetTarget(s.target) e2:SetTarget(s.target)
e2:SetOperation(s.operation) e2:SetOperation(s.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -92,4 +92,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,4 +92,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
\ No newline at end of file
...@@ -37,7 +37,6 @@ end ...@@ -37,7 +37,6 @@ end
function s.indestg(e,c) function s.indestg(e,c)
return c==e:GetHandler():GetBattleTarget() return c==e:GetHandler():GetBattleTarget()
end end
function s.retcon(e,tp,eg,ep,ev,re,r,rp) function s.retcon(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToBattle() then return false end if not e:GetHandler():IsRelateToBattle() then return false end
local t=nil local t=nil
...@@ -55,6 +54,3 @@ function s.retop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,6 +54,3 @@ function s.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(e:GetLabelObject(),nil,REASON_EFFECT) Duel.SendtoHand(e:GetLabelObject(),nil,REASON_EFFECT)
end end
end end
--拂晓神使 萨琪娜 --拂晓神使 萨琪娜
local s,id,o=GetID() function c75030047.initial_effect(c)
function s.initial_effect(c) --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(75030047,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_DESTROYED) e1:SetCode(EVENT_DESTROYED)
e1:SetCountLimit(1,id+o) e1:SetCountLimit(1,75030047)
e1:SetCondition(s.spcon) e1:SetCondition(c75030047.spcon)
e1:SetTarget(s.sptg) e1:SetTarget(c75030047.sptg)
e1:SetOperation(s.spop) e1:SetOperation(c75030047.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
------- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetDescription(aux.Stringid(75030047,1))
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCountLimit(1,id+o*2) e2:SetCountLimit(1,75030048)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetTarget(s.thtg) e2:SetTarget(c75030047.thtg)
e2:SetOperation(s.thop) e2:SetOperation(c75030047.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone() local e3=e2:Clone()
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
...@@ -33,61 +33,59 @@ function s.initial_effect(c) ...@@ -33,61 +33,59 @@ function s.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY) e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_DESTROYED) e4:SetCode(EVENT_DESTROYED)
e4:SetCountLimit(1,id+o*3) e4:SetCountLimit(1,85030047)
e4:SetCondition(s.spcon1) e4:SetCondition(c75030047.spcon1)
e4:SetTarget(s.sptg1) e4:SetTarget(c75030047.sptg1)
e4:SetOperation(s.spop1) e4:SetOperation(c75030047.spop1)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c75030047.cfilter(c,tp)
function s.cfilter(c,tp)
return c:IsPreviousLocation(LOCATION_MZONE+LOCATION_HAND) and c:IsPreviousControler(tp) return c:IsPreviousLocation(LOCATION_MZONE+LOCATION_HAND) and c:IsPreviousControler(tp)
and c:IsReason(REASON_EFFECT) and c:IsSetCard(0x6751) and c:IsReason(REASON_EFFECT) and c:IsSetCard(0x6751)
end end
function s.spcon(e,tp,eg,ep,ev,re,r,rp) function c75030047.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil,tp) return eg:IsExists(c75030047.cfilter,1,nil,tp)
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030047.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function c75030047.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
function c75030047.thfilter(c)
function s.thfilter(c)
return c:IsSetCard(0x6751) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsSetCard(0x6751) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030047.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c75030047.thfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function c75030047.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c75030047.thfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if #g~=0 then if #g~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
end end
function s.spcon1(e,tp,eg,ep,ev,re,r,rp) function c75030047.spcon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_DESTROY) return e:GetHandler():IsReason(REASON_DESTROY)
end end
function s.spfilter(c,e,tp) function c75030047.spfilter(c,e,tp)
return c:IsCode(75030024) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsCode(75030024) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
function s.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) function c75030047.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c75030047.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function s.spop1(e,tp,eg,ep,ev,re,r,rp) function c75030047.spop1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c75030047.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end end
......
--晓风之刃 魔器萨扎 --晓风之刃 魔器萨扎
local s,id,o=GetID() function c75030049.initial_effect(c)
function s.initial_effect(c) --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,2)) e2:SetDescription(aux.Stringid(75030049,2))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE) e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,75030049)
e2:SetTarget(s.sptg) e2:SetTarget(c75030049.sptg)
e2:SetOperation(s.spop) e2:SetOperation(c75030049.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--pendulum --pendulum
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0)) e1:SetDescription(aux.Stringid(75030049,0))
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_DESTROYED) e1:SetCode(EVENT_DESTROYED)
e1:SetCountLimit(1,id+o*2) e1:SetCountLimit(1,75030050)
e1:SetCondition(s.descon) e1:SetCondition(c75030049.descon)
e1:SetTarget(s.destg) e1:SetTarget(c75030049.destg)
e1:SetOperation(s.desop) e1:SetOperation(c75030049.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
----- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,1)) e3:SetDescription(aux.Stringid(75030049,1))
e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SUMMON_SUCCESS) e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetCountLimit(1,id+o*3) e3:SetCountLimit(1,85030049)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetTarget(s.thtg) e3:SetTarget(c75030049.thtg)
e3:SetOperation(s.thop) e3:SetOperation(c75030049.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=e3:Clone() local e4=e3:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS) e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function s.spfilter(c) function c75030049.spfilter(c)
return c:IsSetCard(0x5751,0x6751) and not c:IsCode(56677752) and c:IsFaceup() and c:GetOriginalType()&TYPE_MONSTER~=0 return c:IsSetCard(0x5751,0x6751) and not c:IsCode(56677752) and c:IsFaceup() and c:GetOriginalType()&TYPE_MONSTER~=0
end end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c75030049.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and s.spfilter(chkc) end if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c75030049.spfilter(chkc) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingTarget(s.spfilter,tp,LOCATION_ONFIELD,0,1,nil) end and Duel.IsExistingTarget(c75030049.spfilter,tp,LOCATION_ONFIELD,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,s.spfilter,tp,LOCATION_ONFIELD,0,1,1,nil) local g=Duel.SelectTarget(tp,c75030049.spfilter,tp,LOCATION_ONFIELD,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function s.spop(e,tp,eg,ep,ev,re,r,rp) function c75030049.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
...@@ -61,33 +61,33 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,33 +61,33 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(tc,REASON_EFFECT)
end end
end end
function s.descon(e,tp,eg,ep,ev,re,r,rp) function c75030049.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_DESTROY) return e:GetHandler():IsReason(REASON_DESTROY)
end end
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c75030049.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function s.desop(e,tp,eg,ep,ev,re,r,rp) function c75030049.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(tc,REASON_EFFECT)
end end
end end
---- ----
function s.thfilter(c) function c75030049.thfilter(c)
return c:IsSetCard(0x6751) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x6751) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030049.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c75030049.thfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function s.thop(e,tp,eg,ep,ev,re,r,rp) function c75030049.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c75030049.thfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if #g~=0 then if #g~=0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -16,12 +16,12 @@ function s.initial_effect(c) ...@@ -16,12 +16,12 @@ function s.initial_effect(c)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,id+o) e1:SetCountLimit(1,id)
e1:SetCondition(s.dspcon) e1:SetCondition(s.dspcon)
e1:SetTarget(s.dsptg) e1:SetTarget(s.dsptg)
e1:SetOperation(s.dspop) e1:SetOperation(s.dspop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--------- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
...@@ -29,7 +29,7 @@ function s.initial_effect(c) ...@@ -29,7 +29,7 @@ function s.initial_effect(c)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(1) e2:SetValue(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--------- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,0)) e3:SetDescription(aux.Stringid(id,0))
e3:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY) e3:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
......
--黎明的咒歌 --黎明的咒歌
local s,id,o=GetID() function c75030055.initial_effect(c)
function s.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
...@@ -8,54 +7,54 @@ function s.initial_effect(c) ...@@ -8,54 +7,54 @@ function s.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e1:SetCountLimit(1,id+o) e1:SetCountLimit(1,75030055)
e1:SetTarget(s.target) e1:SetTarget(c75030055.target)
e1:SetOperation(s.activate) e1:SetOperation(c75030055.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EFFECT_DESTROY_REPLACE) e2:SetCode(EFFECT_DESTROY_REPLACE)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,id+o*2) e2:SetCountLimit(1,85030055)
e2:SetTarget(s.reptg) e2:SetTarget(c75030055.reptg)
e2:SetValue(s.repval) e2:SetValue(c75030055.repval)
e2:SetOperation(s.repop) e2:SetOperation(c75030055.repop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function s.filter(c,e) function c75030055.filter(c,e)
return c:IsSetCard(0x6751) and c:IsFaceup() and c:IsCanBeEffectTarget(e) return c:IsSetCard(0x6751) and c:IsFaceup() and c:IsCanBeEffectTarget(e)
end end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c75030055.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil)
and Duel.IsExistingTarget(s.filter,tp,LOCATION_MZONE,0,1,nil,e) end and Duel.IsExistingTarget(c75030055.filter,tp,LOCATION_MZONE,0,1,nil,e) end
local ct1=Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_MZONE,0,nil,e) local ct1=Duel.GetMatchingGroupCount(c75030055.filter,tp,LOCATION_MZONE,0,nil,e)
local ct2=Duel.GetMatchingGroupCount(Card.IsCanBeEffectTarget,tp,0,LOCATION_ONFIELD,nil,e) local ct2=Duel.GetMatchingGroupCount(Card.IsCanBeEffectTarget,tp,0,LOCATION_ONFIELD,nil,e)
local mc=math.min(ct1,ct2) local mc=math.min(ct1,ct2)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,s.filter,tp,LOCATION_MZONE,0,1,mc,nil,e) local g1=Duel.SelectTarget(tp,c75030055.filter,tp,LOCATION_MZONE,0,1,mc,nil,e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,#g1,#g1,nil) local g2=Duel.SelectTarget(tp,aux.TRUE,tp,0,LOCATION_ONFIELD,#g1,#g1,nil)
g1:Merge(g2) g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,#g1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,#g1,0,0)
end end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function c75030055.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=g:Filter(Card.IsRelateToEffect,nil,e) local sg=g:Filter(Card.IsRelateToEffect,nil,e)
if sg:GetCount()>0 then if sg:GetCount()>0 then
Duel.Destroy(sg,REASON_EFFECT) Duel.Destroy(sg,REASON_EFFECT)
end end
end end
function s.repfilter(c,tp) function c75030055.repfilter(c,tp)
return not c:IsReason(REASON_REPLACE) and c:IsFaceup() and c:IsSetCard(0x6751) and c:IsControler(tp) and c:IsReason(REASON_EFFECT) return not c:IsReason(REASON_REPLACE) and c:IsFaceup() and c:IsSetCard(0x6751) and c:IsControler(tp) and c:IsReason(REASON_EFFECT)
end end
function s.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function c75030055.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(s.repfilter,1,nil,tp) end if chk==0 then return e:GetHandler():IsAbleToRemove() and eg:IsExists(c75030055.repfilter,1,nil,tp) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96) return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end end
function s.repval(e,c) function c75030055.repval(e,c)
return s.repfilter(c,e:GetHandlerPlayer()) return c75030055.repfilter(c,e:GetHandlerPlayer())
end end
function s.repop(e,tp,eg,ep,ev,re,r,rp) function c75030055.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT+REASON_REPLACE) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_EFFECT+REASON_REPLACE)
end end
...@@ -7,7 +7,7 @@ function s.initial_effect(c) ...@@ -7,7 +7,7 @@ function s.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_TO_HAND) e1:SetCode(EVENT_TO_HAND)
e1:SetCountLimit(1,id+o) e1:SetCountLimit(1,id)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(s.spcon) e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg) e1:SetTarget(s.sptg)
...@@ -20,7 +20,7 @@ function s.initial_effect(c) ...@@ -20,7 +20,7 @@ function s.initial_effect(c)
e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetCountLimit(1,id+o*2) e2:SetCountLimit(1,id+o)
e2:SetTarget(s.thtg) e2:SetTarget(s.thtg)
e2:SetOperation(s.thop) e2:SetOperation(s.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -34,7 +34,7 @@ function s.initial_effect(c) ...@@ -34,7 +34,7 @@ function s.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_DESTROYED) e3:SetCode(EVENT_DESTROYED)
e3:SetCountLimit(1,id+o*3) e3:SetCountLimit(1,id+o*2)
e3:SetTarget(s.tdtg) e3:SetTarget(s.tdtg)
e3:SetOperation(s.tdop) e3:SetOperation(s.tdop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment