Commit 0fd70b2f authored by Tachibana's avatar Tachibana

eme

parent 4ff8b9f7
...@@ -24,13 +24,12 @@ function c70700101.initial_effect(c) ...@@ -24,13 +24,12 @@ function c70700101.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--immune --immune
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(70700101,3))
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT) e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c70700101.econ) e4:SetCondition(c70700101.econ)
e4:SetValue(c70700101.efilter) e4:SetValue(aux.tgoval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--ignition effect --ignition effect
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
...@@ -61,7 +60,7 @@ function c70700101.clienthint(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,7 +60,7 @@ function c70700101.clienthint(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetDescription(aux.Stringid(70700101,4)) e2:SetDescription(aux.Stringid(70700101,1))
c:RegisterEffect(e2,true) c:RegisterEffect(e2,true)
end end
...@@ -74,30 +73,35 @@ end ...@@ -74,30 +73,35 @@ end
function c70700101.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c70700101.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then if chk==0 then
local mg=Duel.GetMatchingGroup(c70700101.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,LOCATION_MZONE,e:GetHandler(),e) local mg=Duel.GetMatchingGroup(c70700101.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler(),e)
return Duel.IsPlayerCanSpecialSummonMonster(tp,70700101,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) return Duel.IsPlayerCanSpecialSummonMonster(tp,70700101,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE)
and mg:CheckSubGroup(c70700101.spcheck,2,2,e,tp) end and mg:CheckSubGroup(c70700101.spcheck,2,2,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c70700101.spop(e,tp,eg,ep,ev,re,r,rp) function c70700101.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mg=Duel.GetMatchingGroup(c70700101.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,LOCATION_MZONE,e:GetHandler(),e) local mg=Duel.GetMatchingGroup(c70700101.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler(),e)
if not mg:CheckSubGroup(c70700101.spcheck,2,2,e,tp) then return end if not mg:CheckSubGroup(c70700101.spcheck,2,2,e,tp) then return end
if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700101,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700101,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=mg:SelectSubGroup(tp,c70700101.spcheck,false,2,2,e,tp) local sg=mg:SelectSubGroup(tp,c70700101.spcheck,false,2,2,e,tp)
Duel.ConfirmCards(1-tp,sg)
Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE) Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE)
c:AddMonsterAttribute(TYPE_EFFECT) c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) c70700101.spfunc(c,e,tp)
local e1=Effect.CreateEffect(c) end
e1:SetType(EFFECT_TYPE_SINGLE) end
e1:SetCode(EFFECT_CHANGE_TYPE) function c70700101.spfunc(c,e,tp)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
e1:SetValue(TYPE_EFFECT+TYPE_MONSTER) local e1=Effect.CreateEffect(c)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY) e1:SetType(EFFECT_TYPE_SINGLE)
c:RegisterEffect(e1,true) e1:SetCode(EFFECT_CHANGE_TYPE)
local e2=e1:Clone() e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCode(EFFECT_CHANGE_RACE) e1:SetValue(TYPE_EFFECT+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY)
c:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetValue(RACE_REPTILE) e2:SetValue(RACE_REPTILE)
c:RegisterEffect(e2,true) c:RegisterEffect(e2,true)
local e3=e1:Clone() local e3=e1:Clone()
...@@ -117,7 +121,6 @@ function c70700101.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -117,7 +121,6 @@ function c70700101.spop(e,tp,eg,ep,ev,re,r,rp)
e6:SetValue(3000) e6:SetValue(3000)
c:RegisterEffect(e6,true) c:RegisterEffect(e6,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end
end end
function c70700101.spcon2(e,tp,eg,ep,ev,re,r,rp) function c70700101.spcon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -136,35 +139,7 @@ function c70700101.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -136,35 +139,7 @@ function c70700101.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700101,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700101,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then
c:AddMonsterAttribute(TYPE_EFFECT) c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) c70700101.spfunc(c,e,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_EFFECT+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY)
c:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetValue(RACE_REPTILE)
c:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e3:SetValue(ATTRIBUTE_FIRE)
c:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CHANGE_LEVEL)
e4:SetValue(10)
c:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_SET_BASE_ATTACK)
e5:SetValue(3300)
c:RegisterEffect(e5,true)
local e6=e1:Clone()
e6:SetCode(EFFECT_SET_BASE_DEFENSE)
e6:SetValue(3000)
c:RegisterEffect(e6,true)
Duel.SpecialSummonComplete()
end end
end end
function c70700101.econ(e) function c70700101.econ(e)
...@@ -174,13 +149,16 @@ end ...@@ -174,13 +149,16 @@ end
function c70700101.efilter(e,te) function c70700101.efilter(e,te)
return te:IsActiveType(TYPE_MONSTER) and te:GetOwner()~=e:GetOwner() return te:IsActiveType(TYPE_MONSTER) and te:GetOwner()~=e:GetOwner()
end end
function c70700101.rlfilter(c,tp)
return Duel.IsPlayerCanRelease(tp,c)
end
function c70700101.ietg(e,tp,eg,ep,ev,re,r,rp,chk) function c70700101.ietg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c70700101.rlfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0)
end end
function c70700101.ieop(e,tp,eg,ep,ev,re,r,rp) function c70700101.ieop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(c70700101.rlfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
......
...@@ -24,13 +24,12 @@ function c70700102.initial_effect(c) ...@@ -24,13 +24,12 @@ function c70700102.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--immune --immune
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(70700102,3))
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT) e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c70700102.econ) e4:SetCondition(c70700102.econ)
e4:SetValue(c70700102.efilter) e4:SetValue(aux.tgoval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--ignition effect --ignition effect
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
...@@ -49,7 +48,6 @@ function c70700102.initial_effect(c) ...@@ -49,7 +48,6 @@ function c70700102.initial_effect(c)
e6:SetCode(EVENT_SPSUMMON_SUCCESS) e6:SetCode(EVENT_SPSUMMON_SUCCESS)
e6:SetOperation(c70700102.clienthint) e6:SetOperation(c70700102.clienthint)
c:RegisterEffect(e6) c:RegisterEffect(e6)
Duel.AddCustomActivityCounter(70700102,ACTIVITY_CHAIN,c70700102.chainfilter)
end end
function c70700102.clienthint(e,tp,eg,ep,ev,re,r,rp) function c70700102.clienthint(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -61,12 +59,9 @@ function c70700102.clienthint(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,12 +59,9 @@ function c70700102.clienthint(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1,true) c:RegisterEffect(e1,true)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetDescription(aux.Stringid(70700102,4)) e2:SetDescription(aux.Stringid(70700102,1))
c:RegisterEffect(e2,true) c:RegisterEffect(e2,true)
end end
function c70700102.chainfilter(re,tp,cid)
return not re:GetHandler():IsCode(70700102)
end
function c70700102.filter(c,loc) function c70700102.filter(c,loc)
if loc==nil then if loc==nil then
return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand() and c:IsSetCard(0x901) and not c:IsCode(70700102) return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand() and c:IsSetCard(0x901) and not c:IsCode(70700102)
...@@ -74,21 +69,6 @@ function c70700102.filter(c,loc) ...@@ -74,21 +69,6 @@ function c70700102.filter(c,loc)
return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand() return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand()
end end
end end
function c70700102.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(70700102,tp,ACTIVITY_CHAIN)==0 end
end
function c70700102.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c70700102.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c70700102.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c70700102.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function c70700102.spfilter(c,e) function c70700102.spfilter(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
...@@ -98,21 +78,26 @@ end ...@@ -98,21 +78,26 @@ end
function c70700102.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c70700102.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then if chk==0 then
local mg=Duel.GetMatchingGroup(c70700102.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,LOCATION_MZONE,e:GetHandler(),e) local mg=Duel.GetMatchingGroup(c70700102.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler(),e)
return Duel.IsPlayerCanSpecialSummonMonster(tp,70700102,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE) return Duel.IsPlayerCanSpecialSummonMonster(tp,70700102,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE)
and mg:CheckSubGroup(c70700102.spcheck,2,2,e,tp) end and mg:CheckSubGroup(c70700102.spcheck,2,2,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c70700102.spop(e,tp,eg,ep,ev,re,r,rp) function c70700102.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mg=Duel.GetMatchingGroup(c70700102.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,LOCATION_MZONE,e:GetHandler(),e) local mg=Duel.GetMatchingGroup(c70700102.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler(),e)
if not mg:CheckSubGroup(c70700102.spcheck,2,2,e,tp) then return end if not mg:CheckSubGroup(c70700102.spcheck,2,2,e,tp) then return end
if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700102,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE) then if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700102,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=mg:SelectSubGroup(tp,c70700102.spcheck,false,2,2,e,tp) local sg=mg:SelectSubGroup(tp,c70700102.spcheck,false,2,2,e,tp)
Duel.ConfirmCards(1-tp,sg)
Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE) Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE)
c:AddMonsterAttribute(TYPE_EFFECT) c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) c70700102.spfunc(c,e,tp)
end
end
function c70700102.spfunc(c,e,tp)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetCode(EFFECT_CHANGE_TYPE)
...@@ -141,7 +126,6 @@ function c70700102.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -141,7 +126,6 @@ function c70700102.spop(e,tp,eg,ep,ev,re,r,rp)
e6:SetValue(3300) e6:SetValue(3300)
c:RegisterEffect(e6,true) c:RegisterEffect(e6,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end
end end
function c70700102.spcon2(e,tp,eg,ep,ev,re,r,rp) function c70700102.spcon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -160,35 +144,7 @@ function c70700102.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -160,35 +144,7 @@ function c70700102.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700102,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700102,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then
c:AddMonsterAttribute(TYPE_EFFECT) c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) c70700102.spfunc(c,e,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_EFFECT+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY)
c:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetValue(RACE_REPTILE)
c:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e3:SetValue(ATTRIBUTE_FIRE)
c:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CHANGE_LEVEL)
e4:SetValue(10)
c:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_SET_BASE_ATTACK)
e5:SetValue(3000)
c:RegisterEffect(e5,true)
local e6=e1:Clone()
e6:SetCode(EFFECT_SET_BASE_DEFENSE)
e6:SetValue(3300)
c:RegisterEffect(e6,true)
Duel.SpecialSummonComplete()
end end
end end
function c70700102.econ(e) function c70700102.econ(e)
...@@ -204,7 +160,7 @@ function c70700102.ietg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -204,7 +160,7 @@ function c70700102.ietg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_GRAVE)
end end
function c70700102.ieop(e,tp,eg,ep,ev,re,r,rp) function c70700102.ieop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c70700102.filter,tp,LOCATION_GRAVE,0,nil,LOCATION_GRAVE) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c70700102.filter),tp,LOCATION_GRAVE,0,nil,LOCATION_GRAVE)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
......
...@@ -25,9 +25,9 @@ function c70700103.initial_effect(c) ...@@ -25,9 +25,9 @@ function c70700103.initial_effect(c)
--cannot target --cannot target
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetCondition(c70700103.econ) e4:SetCondition(c70700103.econ)
e4:SetValue(aux.tgoval) e4:SetValue(aux.tgoval)
c:RegisterEffect(e4) c:RegisterEffect(e4)
...@@ -48,7 +48,6 @@ function c70700103.initial_effect(c) ...@@ -48,7 +48,6 @@ function c70700103.initial_effect(c)
e6:SetCode(EVENT_SPSUMMON_SUCCESS) e6:SetCode(EVENT_SPSUMMON_SUCCESS)
e6:SetOperation(c70700103.clienthint) e6:SetOperation(c70700103.clienthint)
c:RegisterEffect(e6) c:RegisterEffect(e6)
Duel.AddCustomActivityCounter(70700103,ACTIVITY_CHAIN,c70700103.chainfilter)
end end
function c70700103.clienthint(e,tp,eg,ep,ev,re,r,rp) function c70700103.clienthint(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -63,9 +62,6 @@ function c70700103.clienthint(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,9 +62,6 @@ function c70700103.clienthint(e,tp,eg,ep,ev,re,r,rp)
e2:SetDescription(aux.Stringid(70700103,4)) e2:SetDescription(aux.Stringid(70700103,4))
c:RegisterEffect(e2,true) c:RegisterEffect(e2,true)
end end
function c70700103.chainfilter(re,tp,cid)
return not re:GetHandler():IsCode(70700103)
end
function c70700103.filter(c,loc) function c70700103.filter(c,loc)
if loc==nil then if loc==nil then
return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand() and c:IsSetCard(0x901) and not c:IsCode(70700103) return c:IsType(TYPE_SPELL) and c:IsType(TYPE_RITUAL) and c:IsAbleToHand() and c:IsSetCard(0x901) and not c:IsCode(70700103)
...@@ -97,21 +93,26 @@ end ...@@ -97,21 +93,26 @@ end
function c70700103.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c70700103.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then if chk==0 then
local mg=Duel.GetMatchingGroup(c70700103.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,LOCATION_MZONE,e:GetHandler(),e) local mg=Duel.GetMatchingGroup(c70700103.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler(),e)
return Duel.IsPlayerCanSpecialSummonMonster(tp,70700103,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE) return Duel.IsPlayerCanSpecialSummonMonster(tp,70700103,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE)
and mg:CheckSubGroup(c70700103.spcheck,2,2,e,tp) end and mg:CheckSubGroup(c70700103.spcheck,2,2,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c70700103.spop(e,tp,eg,ep,ev,re,r,rp) function c70700103.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mg=Duel.GetMatchingGroup(c70700103.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,LOCATION_MZONE,e:GetHandler(),e) local mg=Duel.GetMatchingGroup(c70700103.spfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,e:GetHandler(),e)
if not mg:CheckSubGroup(c70700103.spcheck,2,2,e,tp) then return end if not mg:CheckSubGroup(c70700103.spcheck,2,2,e,tp) then return end
if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700103,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE) then if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700103,0x901,0x21,3000,3300,10,RACE_REPTILE,ATTRIBUTE_FIRE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=mg:SelectSubGroup(tp,c70700103.spcheck,false,2,2,e,tp) local sg=mg:SelectSubGroup(tp,c70700103.spcheck,false,2,2,e,tp)
Duel.ConfirmCards(1-tp,sg)
Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE) Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RELEASE)
c:AddMonsterAttribute(TYPE_EFFECT) c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) c70700103.spfunc(c,e,tp)
end
end
function c70700103.spfunc(c,e,tp)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetCode(EFFECT_CHANGE_TYPE)
...@@ -140,7 +141,6 @@ function c70700103.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -140,7 +141,6 @@ function c70700103.spop(e,tp,eg,ep,ev,re,r,rp)
e6:SetValue(3300) e6:SetValue(3300)
c:RegisterEffect(e6,true) c:RegisterEffect(e6,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end
end end
function c70700103.spcon2(e,tp,eg,ep,ev,re,r,rp) function c70700103.spcon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -159,35 +159,7 @@ function c70700103.spop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -159,35 +159,7 @@ function c70700103.spop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700103,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then if c:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,70700103,0x901,0x21,3300,3000,10,RACE_REPTILE,ATTRIBUTE_FIRE) then
c:AddMonsterAttribute(TYPE_EFFECT) c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) c70700103.spfunc(c,e,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_EFFECT+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_OVERLAY)
c:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CHANGE_RACE)
e2:SetValue(RACE_REPTILE)
c:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e3:SetValue(ATTRIBUTE_FIRE)
c:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_CHANGE_LEVEL)
e4:SetValue(10)
c:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_SET_BASE_ATTACK)
e5:SetValue(3000)
c:RegisterEffect(e5,true)
local e6=e1:Clone()
e6:SetCode(EFFECT_SET_BASE_DEFENSE)
e6:SetValue(3300)
c:RegisterEffect(e6,true)
Duel.SpecialSummonComplete()
end end
end end
function c70700103.thfilter(c) function c70700103.thfilter(c)
......
...@@ -62,7 +62,7 @@ function c70700105.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,7 +62,7 @@ function c70700105.spop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(TYPE_NORMAL) e1:SetValue(TYPE_NORMAL+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+0x47c0000) e1:SetReset(RESET_EVENT+0x47c0000)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
local e2=e1:Clone() local e2=e1:Clone()
...@@ -84,7 +84,7 @@ function c70700105.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,7 +84,7 @@ function c70700105.spop(e,tp,eg,ep,ev,re,r,rp)
tc:SetStatus(STATUS_NO_LEVEL,true) tc:SetStatus(STATUS_NO_LEVEL,true)
end end
end end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,true,false,POS_FACEUP)
end end
function c70700105.thfilter(c,thcode) function c70700105.thfilter(c,thcode)
return c:IsAbleToHand() and c:IsCode(table.unpack(thcode)) return c:IsAbleToHand() and c:IsCode(table.unpack(thcode))
......
...@@ -54,7 +54,7 @@ function c70700106.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,7 +54,7 @@ function c70700106.eqop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCategory(CATEGORY_DISABLE+CATEGORY_DESTROY) e2:SetCategory(CATEGORY_DISABLE+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:SetCountLimit(1,70700106) e2:SetCountLimit(1,70700107)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetTarget(c70700106.distg) e2:SetTarget(c70700106.distg)
e2:SetOperation(c70700106.disop) e2:SetOperation(c70700106.disop)
...@@ -103,7 +103,7 @@ function c70700106.thtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -103,7 +103,7 @@ function c70700106.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end end
function c70700106.thop(e,tp,eg,ep,ev,re,r,rp) function c70700106.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c70700106.thfilter,tp,LOCATION_GRAVE,0,nil) local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c70700106.thfilter),tp,LOCATION_GRAVE,0,nil)
if g:GetCount()<=0 then return end if g:GetCount()<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
......
...@@ -91,5 +91,6 @@ function c70700110.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -91,5 +91,6 @@ function c70700110.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
sg:GetFirst():AddMonsterAttribute(TYPE_EFFECT) sg:GetFirst():AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummon(sg,0,tp,tp,true,false,POS_FACEUP) local tc=sg:GetFirst()
tc.spfunc(tc,e,tp)
end end
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