Commit 0ae18874 authored by mercury233's avatar mercury233

fix

parent 8dfd9f58
#created by ... #created by ...
#main #main
100200189 100200189
100415002
100415013
100415014
100415017
100415018
100415019
100415021
100415022
100415023
100415030
100415001
100415003
100415004
100415009
100415010
100415011
100415012
100415024
100415025
100415026
100415027
100415028
100415029
100415031
100415032
100415033
100415034
100415035
100415036
#extra
100415015
100415016
100415005
100415006
100415007
100415008
!side
100200184 100200184
100200185 100200185
100200186 100200186
#extra
!side
...@@ -60,7 +60,6 @@ function c100200184.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,7 +60,6 @@ function c100200184.spop(e,tp,eg,ep,ev,re,r,rp)
if ft<=0 then return end if ft<=0 then return end
if ft>3 then ft=3 end if ft>3 then ft=3 end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.GetMatchingGroup(c100200184.filter,tp,LOCATION_DECK+LOCATION_HAND,0,nil,e,tp) local g=Duel.GetMatchingGroup(c100200184.filter,tp,LOCATION_DECK+LOCATION_HAND,0,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -32,21 +32,20 @@ function c100200186.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -32,21 +32,20 @@ function c100200186.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c100200186.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,c100200186.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SUMMON,g,0,0,0)
end end
function c100200186.thop(e,tp,eg,ep,ev,re,r,rp) function c100200186.thop(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) and Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_HAND)
if Duel.SendtoHand(tc,nil,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_HAND) and (tc:IsSummonable(true,nil,1) or tc:IsMSetable(true,nil,1))
and (tc:IsSummonable(true,nil,1) or tc:IsMSetable(true,nil,1)) and Duel.SelectYesNo(tp,aux.Stringid(100200186,0)) then
and Duel.SelectYesNo(tp,aux.Stringid(100200186,0)) then Duel.BreakEffect()
local s1=tc:IsSummonable(true,nil,1) local s1=tc:IsSummonable(true,nil,1)
local s2=tc:IsMSetable(true,nil,1) local s2=tc:IsMSetable(true,nil,1)
if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) or not s2 then if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) or not s2 then
Duel.Summon(tp,tc,true,nil,1) Duel.Summon(tp,tc,true,nil,1)
else else
Duel.MSet(tp,tc,true,nil,1) Duel.MSet(tp,tc,true,nil,1)
end
end end
end end
end end
...@@ -26,7 +26,7 @@ function c100200189.sgcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -26,7 +26,7 @@ function c100200189.sgcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100) e:SetLabel(100)
return true return true
end end
function c100200189.tgfilter(c) function c100200189.tgfilter(c,tp)
return c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT) and c:IsDiscardable() return c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT) and c:IsDiscardable()
and Duel.IsExistingMatchingCard(c100200189.tgfilter2,tp,LOCATION_DECK,0,1,nil,c:GetAttribute()) and Duel.IsExistingMatchingCard(c100200189.tgfilter2,tp,LOCATION_DECK,0,1,nil,c:GetAttribute())
end end
...@@ -39,10 +39,10 @@ function c100200189.sgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -39,10 +39,10 @@ function c100200189.sgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then if chk==0 then
if e:GetLabel()~=100 then return false end if e:GetLabel()~=100 then return false end
e:SetLabel(0) e:SetLabel(0)
return Duel.IsExistingMatchingCard(c100200189.tgfilter,tp,LOCATION_HAND,0,1,nil) return Duel.IsExistingMatchingCard(c100200189.tgfilter,tp,LOCATION_HAND,0,1,nil,tp)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tc=Duel.SelectMatchingCard(tp,c100200189.tgfilter,tp,LOCATION_HAND,0,1,1,nil):GetFirst() local tc=Duel.SelectMatchingCard(tp,c100200189.tgfilter,tp,LOCATION_HAND,0,1,1,nil,tp):GetFirst()
e:SetLabel(tc:GetAttribute()) e:SetLabel(tc:GetAttribute())
Duel.SendtoGrave(tc,REASON_DISCARD+REASON_COST) Duel.SendtoGrave(tc,REASON_DISCARD+REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
...@@ -51,7 +51,7 @@ function c100200189.sgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,7 +51,7 @@ function c100200189.sgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c100200189.tgfilter2,tp,LOCATION_DECK,0,1,1,nil,e:GetLabel()) local g=Duel.SelectMatchingCard(tp,c100200189.tgfilter2,tp,LOCATION_DECK,0,1,1,nil,e:GetLabel())
local tc=g:GetFirst() local tc=g:GetFirst()
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)>0 and tc:IsLocation(LOCATION_GRAVE) then if tc and Duel.SendtoGrave(tc,REASON_EFFECT)>0 and tc:IsLocation(LOCATION_GRAVE) then
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)
......
...@@ -36,7 +36,8 @@ function c100415001.initial_effect(c) ...@@ -36,7 +36,8 @@ function c100415001.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c100415001.costfilter(c,tp) function c100415001.costfilter(c,tp)
return (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsRace(RACE_SPELLCASTER) and c:IsAbleToGraveAsCost() and Duel.GetMZoneCount(tp,c)>0 return (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsRace(RACE_SPELLCASTER)
and c:IsAbleToGraveAsCost() and Duel.GetMZoneCount(tp,c)>0
end end
function c100415001.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c100415001.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c100415001.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler(),tp) end if chk==0 then return Duel.IsExistingMatchingCard(c100415001.costfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler(),tp) end
...@@ -62,7 +63,7 @@ end ...@@ -62,7 +63,7 @@ end
function c100415001.attop(e,tp,eg,ep,ev,re,r,rp) function c100415001.attop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE) e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetValue(e:GetLabel()) e1:SetValue(e:GetLabel())
......
...@@ -18,6 +18,7 @@ function c100415002.initial_effect(c) ...@@ -18,6 +18,7 @@ function c100415002.initial_effect(c)
e2:SetDescription(aux.Stringid(100415002,1)) e2:SetDescription(aux.Stringid(100415002,1))
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:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_EQUIP) e2:SetCode(EVENT_EQUIP)
e2:SetCountLimit(1,100415002+100) e2:SetCountLimit(1,100415002+100)
e2:SetCondition(c100415002.spcon) e2:SetCondition(c100415002.spcon)
...@@ -36,7 +37,7 @@ function c100415002.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -36,7 +37,7 @@ function c100415002.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(c100415002.cfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingTarget(c100415002.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c100415002.eqfilter,tp,LOCATION_EXTRA,0,1,nil,tp) end and Duel.IsExistingMatchingCard(c100415002.eqfilter,tp,LOCATION_EXTRA,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,c100415002.cfilter,tp,LOCATION_MZONE,0,1,1,nil) Duel.SelectTarget(tp,c100415002.cfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_EXTRA)
end end
...@@ -63,8 +64,11 @@ end ...@@ -63,8 +64,11 @@ end
function c100415002.eqlimit(e,c) function c100415002.eqlimit(e,c)
return c==e:GetLabelObject() return c==e:GetLabelObject()
end end
function c100415002.cfilter2(c)
return c:GetOriginalType()&TYPE_MONSTER==TYPE_MONSTER and c:IsSetCard(0x251)
end
function c100415002.spcon(e,tp,eg,ep,ev,re,r,rp) function c100415002.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsSetCard,1,nil,0x251) return eg:IsExists(c100415002.cfilter2,1,nil)
end end
function c100415002.spfilter(c,e,tp) function c100415002.spfilter(c,e,tp)
return c:IsLevel(4) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) and not c:IsCode(100415002) return c:IsLevel(4) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) and not c:IsCode(100415002)
......
...@@ -78,7 +78,8 @@ function c100415004.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -78,7 +78,8 @@ function c100415004.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function c100415004.drop(e,tp,eg,ep,ev,re,r,rp) function c100415004.drop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.Draw(tp,1,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) then if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 and Duel.Draw(tp,1,REASON_EFFECT)~=0
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,nil) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
......
...@@ -34,12 +34,13 @@ function c100415005.eqcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,12 +34,13 @@ function c100415005.eqcon(e,tp,eg,ep,ev,re,r,rp)
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2 return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end end
function c100415005.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100415005.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and chkc~=e:GetHandler() end local c=e:GetHandler()
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and chkc~=c end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler()) end and Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler()) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0) Duel.SetOperationInfo(0,CATEGORY_EQUIP,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,0,0,0) Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,0,0,0)
end end
function c100415005.eqop(e,tp,eg,ep,ev,re,r,rp) function c100415005.eqop(e,tp,eg,ep,ev,re,r,rp)
...@@ -79,5 +80,5 @@ function c100415005.eqlimit(e,c) ...@@ -79,5 +80,5 @@ function c100415005.eqlimit(e,c)
return c==e:GetLabelObject() return c==e:GetLabelObject()
end end
function c100415005.ctval(e,c) function c100415005.ctval(e,c)
return e:GetOwnerPlayer() return e:GetHandlerPlayer()
end end
...@@ -46,7 +46,7 @@ end ...@@ -46,7 +46,7 @@ end
function c100415007.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100415007.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c100415007.thfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c100415007.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c100415007.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c100415007.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local g=Duel.SelectTarget(tp,c100415007.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,c100415007.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end end
...@@ -64,7 +64,8 @@ function c100415007.desfilter(c) ...@@ -64,7 +64,8 @@ function c100415007.desfilter(c)
end end
function c100415007.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100415007.destg(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(c100415007.desfilter,tp,LOCATION_SZONE,0,1,nil) and Duel.IsExistingTarget(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end if chk==0 then return Duel.IsExistingTarget(c100415007.desfilter,tp,LOCATION_SZONE,0,1,nil)
and Duel.IsExistingTarget(Card.IsType,tp,0,LOCATION_ONFIELD,1,nil,TYPE_SPELL+TYPE_TRAP) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c100415007.desfilter,tp,LOCATION_SZONE,0,1,1,nil) local g=Duel.SelectTarget(tp,c100415007.desfilter,tp,LOCATION_SZONE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
......
...@@ -50,7 +50,8 @@ function c100415009.spfilter(c,e,tp) ...@@ -50,7 +50,8 @@ function c100415009.spfilter(c,e,tp)
return c:IsLevel(4) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevel(4) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c100415009.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c100415009.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c100415009.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c100415009.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
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 c100415009.spop(e,tp,eg,ep,ev,re,r,rp) function c100415009.spop(e,tp,eg,ep,ev,re,r,rp)
...@@ -69,7 +70,8 @@ function c100415009.spfilter2(c,e,tp) ...@@ -69,7 +70,8 @@ function c100415009.spfilter2(c,e,tp)
return c:IsSetCard(0x251) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x251) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c100415009.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) function c100415009.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c100415009.spfilter2,tp,LOCATION_HAND,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c100415009.spfilter2,tp,LOCATION_HAND,0,1,nil,e,tp) end
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 c100415009.spop2(e,tp,eg,ep,ev,re,r,rp) function c100415009.spop2(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -18,16 +18,17 @@ function c100415010.filter(c,tp,check) ...@@ -18,16 +18,17 @@ function c100415010.filter(c,tp,check)
return c:IsFaceup() and c:IsSetCard(0x251) and Duel.IsExistingMatchingCard(c100415010.eqfilter,tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE,0,1,c,check) return c:IsFaceup() and c:IsSetCard(0x251) and Duel.IsExistingMatchingCard(c100415010.eqfilter,tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE,0,1,c,check)
end end
function c100415010.eqfilter(c,check) function c100415010.eqfilter(c,check)
return (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE)) and c:IsSetCard(0x251) and c:IsType(TYPE_MONSTER) and not c:IsLevel(4) or check and c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x251) and c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK) return (c:IsFaceup() or not c:IsLocation(LOCATION_MZONE)) and c:IsSetCard(0x251) and c:IsType(TYPE_MONSTER) and not c:IsLevel(4)
or check and c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(0x251) and c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK)
end end
function c100415010.gfilter(c,type) function c100415010.gfilter(c,type)
return c:IsSetCard(0x251) and c:IsType(type) return c:IsSetCard(0x251) and c:IsType(type)
end end
function c100415010.chkfilter(tp,type) function c100415010.check(tp,type)
return Duel.IsExistingMatchingCard(c100415010.gfilter,tp,LOCATION_GRAVE,0,1,nil,type) return Duel.IsExistingMatchingCard(c100415010.gfilter,tp,LOCATION_GRAVE,0,1,nil,type)
end end
function c100415010.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100415010.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local check=c100415010.chkfilter(tp,TYPE_FUSION) and c100415010.chkfilter(tp,TYPE_SYNCHRO) and c100415010.chkfilter(tp,TYPE_XYZ) and c100415010.chkfilter(tp,TYPE_LINK) local check=c100415010.check(tp,TYPE_FUSION) and c100415010.check(tp,TYPE_SYNCHRO) and c100415010.check(tp,TYPE_XYZ) and c100415010.check(tp,TYPE_LINK)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c100415010.filter(chkc,tp,check) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c100415010.filter(chkc,tp,check) end
local b=e:IsHasType(EFFECT_TYPE_ACTIVATE) and not e:GetHandler():IsLocation(LOCATION_SZONE) local b=e:IsHasType(EFFECT_TYPE_ACTIVATE) and not e:GetHandler():IsLocation(LOCATION_SZONE)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE) local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
...@@ -41,7 +42,7 @@ end ...@@ -41,7 +42,7 @@ end
function c100415010.activate(e,tp,eg,ep,ev,re,r,rp) function c100415010.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then if tc:IsRelateToEffect(e) and tc:IsFaceup() and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 then
local check=c100415010.chkfilter(tp,TYPE_FUSION) and c100415010.chkfilter(tp,TYPE_SYNCHRO) and c100415010.chkfilter(tp,TYPE_XYZ) and c100415010.chkfilter(tp,TYPE_LINK) local check=c100415010.check(tp,TYPE_FUSION) and c100415010.check(tp,TYPE_SYNCHRO) and c100415010.check(tp,TYPE_XYZ) and c100415010.check(tp,TYPE_LINK)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c100415010.eqfilter),tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE,0,1,1,c,check) local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c100415010.eqfilter),tp,LOCATION_EXTRA+LOCATION_MZONE+LOCATION_GRAVE,0,1,1,c,check)
local ec=g:GetFirst() local ec=g:GetFirst()
......
...@@ -26,8 +26,8 @@ function c100415013.initial_effect(c) ...@@ -26,8 +26,8 @@ function c100415013.initial_effect(c)
e3:SetOperation(c100415013.recop) e3:SetOperation(c100415013.recop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c100415013.spcon(e) function c100415013.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==1 return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==1
end end
function c100415013.spfilter(c,e,tp) function c100415013.spfilter(c,e,tp)
return c:IsSetCard(0x253) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x253) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -27,9 +27,17 @@ function c100415014.initial_effect(c) ...@@ -27,9 +27,17 @@ function c100415014.initial_effect(c)
e3:SetCost(c100415014.atcost) e3:SetCost(c100415014.atcost)
e3:SetOperation(c100415014.atop) e3:SetOperation(c100415014.atop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--accumulate
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(0x10000000+100415014)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(0,1)
c:RegisterEffect(e4)
end end
function c100415014.spcon(e) function c100415014.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==1 return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==1
end end
function c100415014.spfilter(c,e,tp) function c100415014.spfilter(c,e,tp)
return c:IsSetCard(0x252) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x252) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
...@@ -47,12 +55,11 @@ function c100415014.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,12 +55,11 @@ function c100415014.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c100415014.atcost(e,c) function c100415014.atcost(e,c,tp)
local tp=e:GetHandlerPlayer() local ct=Duel.GetFlagEffect(tp,100415014)
return Duel.CheckLPCost(1-tp,500) return Duel.CheckLPCost(tp,ct*500)
end end
function c100415014.atop(e,tp,eg,ep,ev,re,r,rp) function c100415014.atop(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
Duel.Hint(HINT_CARD,0,100415014) Duel.Hint(HINT_CARD,0,100415014)
Duel.PayLPCost(1-tp,500) Duel.PayLPCost(tp,500)
end end
...@@ -57,7 +57,7 @@ end ...@@ -57,7 +57,7 @@ end
function c100415015.spfilter(c,e,tp) function c100415015.spfilter(c,e,tp)
return c:IsSetCard(0x253) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x253) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c100415015.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100415015.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 Duel.IsExistingMatchingCard(c100415015.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c100415015.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
......
...@@ -67,8 +67,7 @@ end ...@@ -67,8 +67,7 @@ end
function c100415017.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function c100415017.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD) local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
local ct=g:GetCount()-2 local ct=g:GetCount()-2
if ct<1 then return end if chk==0 then return Duel.IsPlayerCanSendtoGrave(1-tp) and ct>0 and g:IsExists(Card.IsAbleToGrave,1,nil,1-tp,nil) end
if chk==0 then return Duel.IsPlayerCanSendtoGrave(1-tp) and g:IsExists(Card.IsAbleToGrave,1,nil,1-tp,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,ct,0,0) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,ct,0,0)
end end
function c100415017.tgop(e,tp,eg,ep,ev,re,r,rp) function c100415017.tgop(e,tp,eg,ep,ev,re,r,rp)
...@@ -85,7 +84,7 @@ function c100415017.cfilter(c,setcode) ...@@ -85,7 +84,7 @@ function c100415017.cfilter(c,setcode)
return c:IsFaceup() and c:IsSetCard(setcode) return c:IsFaceup() and c:IsSetCard(setcode)
end end
function c100415017.con(e) function c100415017.con(e)
local tp=e:GetHandler():GetControler() local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_MZONE,0,1,nil,0x252) return Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_GRAVE,0,1,nil,0x252)
and Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_MZONE,0,1,nil,0x253) and Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_GRAVE,0,1,nil,0x253)
end end
...@@ -8,6 +8,7 @@ function c100415018.initial_effect(c) ...@@ -8,6 +8,7 @@ function c100415018.initial_effect(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:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,100415018+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,100415018+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c100415018.cost) e1:SetCost(c100415018.cost)
e1:SetTarget(c100415018.target) e1:SetTarget(c100415018.target)
...@@ -45,5 +46,5 @@ function c100415018.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -45,5 +46,5 @@ function c100415018.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c100415018.splimit(e,c) function c100415018.splimit(e,c)
return not c:IsSetCard(0x254) and c:IsLocation(LOCATION_EXTRA) return not c:IsSetCard(0x2254) and c:IsLocation(LOCATION_EXTRA)
end end
...@@ -10,32 +10,32 @@ function c100415019.initial_effect(c) ...@@ -10,32 +10,32 @@ function c100415019.initial_effect(c)
--negate attack --negate attack
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(100415019,0)) e2:SetDescription(aux.Stringid(100415019,0))
e2:SetCountLimit(1,100415019)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,100415019)
e2:SetCost(c100415019.cost1) e2:SetCost(c100415019.cost1)
e2:SetOperation(c100415019.operation1) e2:SetOperation(c100415019.operation1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to deck --to deck
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(100415019,1)) e3:SetDescription(aux.Stringid(100415019,1))
e3:SetCountLimit(1,100415019+100)
e3:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND) e3:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_PHASE+PHASE_END) e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1,100415019+100)
e3:SetCondition(c100415019.condition2) e3:SetCondition(c100415019.condition2)
e3:SetTarget(c100415019.target2) e3:SetTarget(c100415019.target2)
e3:SetOperation(c100415019.operation2) e3:SetOperation(c100415019.operation2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c100415019.cfilter1(c,tp) function c100415019.cfilter1(c,tp)
return c:IsSetCard(0x252,0x253) return c:IsSetCard(0x252,0x253) and (c:IsControler(tp) or c:IsFaceup())
and (c:IsControler(tp) or c:IsFaceup()) and c:IsReleasable()
end end
function c100415019.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c100415019.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c100415019.cfilter1,tp,LOCATION_MZONE,0,1,nil,tp) end if chk==0 then return Duel.CheckReleaseGroup(tp,c100415019.cfilter1,1,nil,tp) end
local sg=Duel.SelectReleaseGroup(tp,c100415019.cfilter1,1,1,nil,tp) local sg=Duel.SelectReleaseGroup(tp,c100415019.cfilter1,1,1,nil,tp)
Duel.Release(sg,REASON_COST) Duel.Release(sg,REASON_COST)
end end
...@@ -50,7 +50,7 @@ function c100415019.tgfilter2(c,check) ...@@ -50,7 +50,7 @@ function c100415019.tgfilter2(c,check)
and (c:IsAbleToDeck() or (check and c:IsAbleToHand())) and (c:IsAbleToDeck() or (check and c:IsAbleToHand()))
end end
function c100415019.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100415019.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local check=Duel.GetMatchingGroupCount(nil,tp,LOCATION_MZONE,0,nil)==0 local check=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==0
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c100415019.tgfilter2(chkc,check) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c100415019.tgfilter2(chkc,check) end
if chk==0 then return Duel.IsExistingTarget(c100415019.tgfilter2,tp,LOCATION_GRAVE,0,1,nil,check) end if chk==0 then return Duel.IsExistingTarget(c100415019.tgfilter2,tp,LOCATION_GRAVE,0,1,nil,check) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
......
...@@ -8,6 +8,7 @@ function c100415021.initial_effect(c) ...@@ -8,6 +8,7 @@ function c100415021.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,100415021+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,100415021+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c100415021.target) e1:SetTarget(c100415021.target)
e1:SetOperation(c100415021.activate) e1:SetOperation(c100415021.activate)
...@@ -25,7 +26,7 @@ function c100415021.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -25,7 +26,7 @@ function c100415021.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c100415021.linkfilter(c) function c100415021.linkfilter(c)
return c:IsLinkSummonable(nil) and c:IsSetCard(0x254) return c:IsLinkSummonable(nil) and c:IsSetCard(0x2254)
end end
function c100415021.activate(e,tp,eg,ep,ev,re,r,rp) function c100415021.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
--Evil★Twin イージーゲーム --Evil★Twin イージーゲーム
-- --
--Script by JoyJ --Script by JoyJ & mercury233
function c100415022.initial_effect(c) function c100415022.initial_effect(c)
--activate --activate
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
...@@ -48,7 +48,7 @@ function c100415022.tgfilter1(c) ...@@ -48,7 +48,7 @@ function c100415022.tgfilter1(c)
return c:IsSetCard(0x252,0x253) and c:IsFaceup() return c:IsSetCard(0x252,0x253) and c:IsFaceup()
end end
function c100415022.cfilter1(c,tp) function c100415022.cfilter1(c,tp)
return c:IsSetCard(0x252,0x253) return c:IsSetCard(0x252,0x253) and c:GetBaseAttack()>0
and (c:IsControler(tp) or c:IsFaceup()) and not c:IsStatus(STATUS_BATTLE_DESTROYED) and (c:IsControler(tp) or c:IsFaceup()) and not c:IsStatus(STATUS_BATTLE_DESTROYED)
and Duel.IsExistingTarget(c100415022.tgfilter1,tp,LOCATION_MZONE,0,1,c) and Duel.IsExistingTarget(c100415022.tgfilter1,tp,LOCATION_MZONE,0,1,c)
end end
...@@ -78,6 +78,8 @@ function c100415022.activate1(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,6 +78,8 @@ function c100415022.activate1(e,tp,eg,ep,ev,re,r,rp)
end end
function c100415022.condition2(e,tp,eg,ep,ev,re,r,rp) function c100415022.condition2(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsChainDisablable(ev) then return false end if not Duel.IsChainDisablable(ev) then return false end
if re:IsHasCategory(CATEGORY_NEGATE)
and Duel.GetChainInfo(ev-1,CHAININFO_TRIGGERING_EFFECT):IsHasType(EFFECT_TYPE_ACTIVATE) then return false end
local ex,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY) local ex,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY)
return ex and tg~=nil and tc+tg:FilterCount(Card.IsOnField,nil)-tg:GetCount()>0 return ex and tg~=nil and tc+tg:FilterCount(Card.IsOnField,nil)-tg:GetCount()>0
end end
......
...@@ -21,6 +21,7 @@ function c100415023.initial_effect(c) ...@@ -21,6 +21,7 @@ function c100415023.initial_effect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,100415023+EFFECT_COUNT_CODE_OATH) e2:SetCountLimit(1,100415023+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c100415023.condition) e2:SetCondition(c100415023.condition)
e2:SetTarget(c100415023.target2) e2:SetTarget(c100415023.target2)
......
--竜輝巧バンα --竜輝巧バンα
--Scripted by mallu11 --Scripted by mallu11
function c100415024.initial_effect(c) function c100415024.initial_effect(c)
...@@ -34,7 +34,8 @@ function c100415024.costfilter(c,tp) ...@@ -34,7 +34,8 @@ function c100415024.costfilter(c,tp)
end end
function c100415024.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c100415024.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100) e:SetLabel(100)
if chk==0 then return Duel.GetCustomActivityCount(100415024,tp,ACTIVITY_SPSUMMON)==0 and Duel.CheckReleaseGroupEx(tp,c100415024.costfilter,1,e:GetHandler(),tp) end if chk==0 then return Duel.GetCustomActivityCount(100415024,tp,ACTIVITY_SPSUMMON)==0
and Duel.CheckReleaseGroupEx(tp,c100415024.costfilter,1,e:GetHandler(),tp) end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
--竜輝巧ラスβ --竜輝巧ラスβ
--Scripted by mallu11 --Scripted by mallu11
function c100415025.initial_effect(c) function c100415025.initial_effect(c)
...@@ -34,7 +34,8 @@ function c100415025.costfilter(c,tp) ...@@ -34,7 +34,8 @@ function c100415025.costfilter(c,tp)
end end
function c100415025.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c100415025.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100) e:SetLabel(100)
if chk==0 then return Duel.GetCustomActivityCount(100415025,tp,ACTIVITY_SPSUMMON)==0 and Duel.CheckReleaseGroupEx(tp,c100415025.costfilter,1,e:GetHandler(),tp) end if chk==0 then return Duel.GetCustomActivityCount(100415025,tp,ACTIVITY_SPSUMMON)==0
and Duel.CheckReleaseGroupEx(tp,c100415025.costfilter,1,e:GetHandler(),tp) end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
--竜輝巧-エルγ --竜輝巧エルγ
--Scripted by mallu11 --Scripted by mallu11
function c100415026.initial_effect(c) function c100415026.initial_effect(c)
...@@ -34,7 +34,8 @@ function c100415026.costfilter(c,tp) ...@@ -34,7 +34,8 @@ function c100415026.costfilter(c,tp)
end end
function c100415026.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c100415026.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100) e:SetLabel(100)
if chk==0 then return Duel.GetCustomActivityCount(100415026,tp,ACTIVITY_SPSUMMON)==0 and Duel.CheckReleaseGroupEx(tp,c100415026.costfilter,1,e:GetHandler(),tp) end if chk==0 then return Duel.GetCustomActivityCount(100415026,tp,ACTIVITY_SPSUMMON)==0
and Duel.CheckReleaseGroupEx(tp,c100415026.costfilter,1,e:GetHandler(),tp) end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
--竜輝巧-エルδ --竜輝巧-ルタδ
--Scripted by mallu11 --Scripted by mallu11
function c100415027.initial_effect(c) function c100415027.initial_effect(c)
......
--竜輝巧-アルζ --竜輝巧アルζ
--Scripted by mallu11 --Scripted by mallu11
function c100415028.initial_effect(c) function c100415028.initial_effect(c)
......
--竜儀巧-メテオニス=DRA --竜儀巧メテオニス=DRA
--Scripted by mallu11 --Scripted by mallu11
function c100415029.initial_effect(c) function c100415029.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_MATERIAL_CHECK)
e0:SetValue(c100415029.valcheck)
c:RegisterEffect(e0)
--cannot be effect target --cannot be effect target
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -18,19 +24,14 @@ function c100415029.initial_effect(c) ...@@ -18,19 +24,14 @@ function c100415029.initial_effect(c)
e2:SetCondition(c100415029.atkcon) e2:SetCondition(c100415029.atkcon)
e2:SetValue(c100415029.atkfilter) e2:SetValue(c100415029.atkfilter)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetCondition(c100415029.matcon)
e0:SetOperation(c100415029.matop)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_MATERIAL_CHECK) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetValue(c100415029.valcheck) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetLabelObject(e0) e3:SetCondition(c100415029.matcon)
e3:SetOperation(c100415029.matop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
e0:SetLabelObject(e3)
--to grave --to grave
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(100415029,0)) e4:SetDescription(aux.Stringid(100415029,0))
...@@ -60,7 +61,7 @@ function c100415029.matcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -60,7 +61,7 @@ function c100415029.matcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL) and e:GetLabel()==1 return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL) and e:GetLabel()==1
end end
function c100415029.matop(e,tp,eg,ep,ev,re,r,rp) function c100415029.matop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(100415029,RESET_EVENT+RESETS_STANDARD,0,1) e:GetHandler():RegisterFlagEffect(100415029,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(100415029,1))
end end
function c100415029.lvfilter(c,rc) function c100415029.lvfilter(c,rc)
return c:GetRitualLevel(rc)>0 return c:GetRitualLevel(rc)>0
...@@ -68,7 +69,7 @@ end ...@@ -68,7 +69,7 @@ end
function c100415029.valcheck(e,c) function c100415029.valcheck(e,c)
local mg=c:GetMaterial() local mg=c:GetMaterial()
local fg=mg:Filter(c100415029.lvfilter,nil,c) local fg=mg:Filter(c100415029.lvfilter,nil,c)
if fg:GetSum(Card.GetRitualLevel,c)<=2 then if #fg>0 and fg:GetSum(Card.GetRitualLevel,c)<=2 then
e:GetLabelObject():SetLabel(1) e:GetLabelObject():SetLabel(1)
else else
e:GetLabelObject():SetLabel(0) e:GetLabelObject():SetLabel(0)
......
...@@ -3,6 +3,12 @@ ...@@ -3,6 +3,12 @@
--Scripted by mallu11 --Scripted by mallu11
function c100415030.initial_effect(c) function c100415030.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_MATERIAL_CHECK)
e0:SetValue(c100415030.valcheck)
c:RegisterEffect(e0)
--cannot be effect target --cannot be effect target
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -22,19 +28,14 @@ function c100415030.initial_effect(c) ...@@ -22,19 +28,14 @@ function c100415030.initial_effect(c)
e2:SetTarget(c100415030.destg) e2:SetTarget(c100415030.destg)
e2:SetOperation(c100415030.desop) e2:SetOperation(c100415030.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_SPSUMMON_SUCCESS)
e0:SetCondition(c100415030.matcon)
e0:SetOperation(c100415030.matop)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_MATERIAL_CHECK) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetValue(c100415030.valcheck) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetLabelObject(e0) e3:SetCondition(c100415030.matcon)
e3:SetOperation(c100415030.matop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
e0:SetLabelObject(e3)
--spsummon --spsummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(100415030,1)) e4:SetDescription(aux.Stringid(100415030,1))
......
--竜輝巧-ファフニール --竜輝巧ファフニール
--Scripted by mallu11 --Scripted by mallu11
function c100415031.initial_effect(c) function c100415031.initial_effect(c)
...@@ -71,8 +71,8 @@ function c100415031.lvtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -71,8 +71,8 @@ function c100415031.lvtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetCard(eg) Duel.SetTargetCard(eg)
end end
function c100415031.lvop(e,tp,eg,ep,ev,re,r,rp) function c100415031.lvop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c100415031.lvfilter,nil,e)
local c=e:GetHandler() local c=e:GetHandler()
local g=eg:Filter(c100415031.lvfilter,nil,e)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local atk=tc:GetAttack() local atk=tc:GetAttack()
...@@ -80,7 +80,6 @@ function c100415031.lvop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,7 +80,6 @@ function c100415031.lvop(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_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(-lv) e1:SetValue(-lv)
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)
......
...@@ -22,14 +22,6 @@ function c100415032.initial_effect(c) ...@@ -22,14 +22,6 @@ function c100415032.initial_effect(c)
e2:SetTarget(c100415032.thtg) e2:SetTarget(c100415032.thtg)
e2:SetOperation(c100415032.thop) e2:SetOperation(c100415032.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
if Duel.GetRitualMaterialEx==nil then
function Duel.GetRitualMaterialEx(tp,e)
local g=Duel.GetRitualMaterial(tp)
local g2=Duel.GetMatchingGroup(function (c,e) return c:IsCanBeRitualMaterial(nil) and c:IsReleasableByEffect(e) and not c:IsImmuneToEffect(e) end,tp,LOCATION_HAND+LOCATION_MZONE,0,nil,e)
g:Merge(g2)
return g
end
end
end end
function c100415032.cfilter(c) function c100415032.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x250) and c:IsAttackAbove(1000) return c:IsFaceup() and c:IsSetCard(0x250) and c:IsAttackAbove(1000)
...@@ -59,13 +51,13 @@ function c100415032.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,13 +51,13 @@ function c100415032.thop(e,tp,eg,ep,ev,re,r,rp)
end end
function c100415032.target(e,tp,eg,ep,ev,re,r,rp,chk) function c100415032.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local mg=Duel.GetRitualMaterialEx(tp,e):Filter(Card.IsRace,nil,RACE_MACHINE) local mg=Duel.GetRitualMaterial(tp):Filter(Card.IsRace,nil,RACE_MACHINE)
return Duel.IsExistingMatchingCard(c100415032.RitualUltimateFilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,nil,e,tp,mg,nil,Card.GetAttack,"Greater") return Duel.IsExistingMatchingCard(c100415032.RitualUltimateFilter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,nil,e,tp,mg,nil,Card.GetAttack,"Greater")
end 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 c100415032.operation(e,tp,eg,ep,ev,re,r,rp) function c100415032.operation(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterialEx(tp,e):Filter(Card.IsRace,nil,RACE_MACHINE) local mg=Duel.GetRitualMaterial(tp):Filter(Card.IsRace,nil,RACE_MACHINE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c100415032.RitualUltimateFilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,nil,e,tp,mg,nil,Card.GetAttack,"Greater") local tg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c100415032.RitualUltimateFilter),tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,nil,e,tp,mg,nil,Card.GetAttack,"Greater")
local tc=tg:GetFirst() local tc=tg:GetFirst()
...@@ -92,12 +84,12 @@ function c100415032.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,12 +84,12 @@ function c100415032.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c100415032.RitualCheckGreater(g,c,atk) function c100415032.RitualCheckGreater(g,c,atk)
if atk==0 then return #g==1 end if atk==0 then return false end
Duel.SetSelectedCard(g) Duel.SetSelectedCard(g)
return g:CheckWithSumGreater(Card.GetAttack,atk) return g:CheckWithSumGreater(Card.GetAttack,atk)
end end
function c100415032.RitualCheckEqual(g,c,atk) function c100415032.RitualCheckEqual(g,c,atk)
if atk==0 then return #g==1 and g:GetFirst():GetAttack()==0 end if atk==0 then return false end
return g:CheckWithSumEqual(Card.GetAttack,atk,#g,#g) return g:CheckWithSumEqual(Card.GetAttack,atk,#g,#g)
end end
function c100415032.RitualCheck(g,tp,c,atk,greater_or_equal) function c100415032.RitualCheck(g,tp,c,atk,greater_or_equal)
......
...@@ -58,7 +58,6 @@ function c100415034.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,7 +58,6 @@ function c100415034.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(2000) e1:SetValue(2000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,Duel.GetTurnPlayer()==tp and 2 or 1) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,Duel.GetTurnPlayer()==tp and 2 or 1)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
......
...@@ -41,7 +41,6 @@ function c100415035.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,7 +41,6 @@ function c100415035.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(-1000) e1:SetValue(-1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,Duel.GetTurnPlayer()==tp and 2 or 1) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,Duel.GetTurnPlayer()==tp and 2 or 1)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
......
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