Commit 0ae18874 authored by mercury233's avatar mercury233

fix

parent 8dfd9f58
#created by ...
#main
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
100200185
100200186
#extra
!side
......@@ -60,7 +60,6 @@ function c100200184.spop(e,tp,eg,ep,ev,re,r,rp)
if ft<=0 then return end
if ft>3 then ft=3 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)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
......@@ -32,21 +32,20 @@ function c100200186.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
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_SUMMON,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,g,0,0,0)
end
function c100200186.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
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 Duel.SelectYesNo(tp,aux.Stringid(100200186,0)) then
local s1=tc:IsSummonable(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
Duel.Summon(tp,tc,true,nil,1)
else
Duel.MSet(tp,tc,true,nil,1)
end
if tc:IsRelateToEffect(e) and 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 Duel.SelectYesNo(tp,aux.Stringid(100200186,0)) then
Duel.BreakEffect()
local s1=tc:IsSummonable(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
Duel.Summon(tp,tc,true,nil,1)
else
Duel.MSet(tp,tc,true,nil,1)
end
end
end
......@@ -26,7 +26,7 @@ function c100200189.sgcost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
return true
end
function c100200189.tgfilter(c)
function c100200189.tgfilter(c,tp)
return c:IsAttribute(ATTRIBUTE_DARK+ATTRIBUTE_LIGHT) and c:IsDiscardable()
and Duel.IsExistingMatchingCard(c100200189.tgfilter2,tp,LOCATION_DECK,0,1,nil,c:GetAttribute())
end
......@@ -39,10 +39,10 @@ function c100200189.sgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then
if e:GetLabel()~=100 then return false end
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
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())
Duel.SendtoGrave(tc,REASON_DISCARD+REASON_COST)
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)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c100200189.tgfilter2,tp,LOCATION_DECK,0,1,1,nil,e:GetLabel())
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())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
......
......@@ -36,7 +36,8 @@ function c100415001.initial_effect(c)
c:RegisterEffect(e3)
end
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
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
......@@ -62,7 +63,7 @@ end
function c100415001.attop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
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:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetValue(e:GetLabel())
......
......@@ -18,6 +18,7 @@ function c100415002.initial_effect(c)
e2:SetDescription(aux.Stringid(100415002,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_EQUIP)
e2:SetCountLimit(1,100415002+100)
e2:SetCondition(c100415002.spcon)
......@@ -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
and Duel.IsExistingTarget(c100415002.cfilter,tp,LOCATION_MZONE,0,1,nil)
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.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_EXTRA)
end
......@@ -63,8 +64,11 @@ end
function c100415002.eqlimit(e,c)
return c==e:GetLabelObject()
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)
return eg:IsExists(Card.IsSetCard,1,nil,0x251)
return eg:IsExists(c100415002.cfilter2,1,nil)
end
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)
......
......@@ -78,7 +78,8 @@ function c100415004.drtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function c100415004.drop(e,tp,eg,ep,ev,re,r,rp)
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.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
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)
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end
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
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)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,c)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_CONTROL,g,0,0,0)
end
function c100415005.eqop(e,tp,eg,ep,ev,re,r,rp)
......@@ -79,5 +80,5 @@ function c100415005.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c100415005.ctval(e,c)
return e:GetOwnerPlayer()
return e:GetHandlerPlayer()
end
......@@ -46,7 +46,7 @@ end
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 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)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
......@@ -64,7 +64,8 @@ function c100415007.desfilter(c)
end
function c100415007.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
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)
local g=Duel.SelectTarget(tp,c100415007.desfilter,tp,LOCATION_SZONE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
......
......@@ -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)
end
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)
end
function c100415009.spop(e,tp,eg,ep,ev,re,r,rp)
......@@ -69,7 +70,8 @@ function c100415009.spfilter2(c,e,tp)
return c:IsSetCard(0x251) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
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)
end
function c100415009.spop2(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -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)
end
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
function c100415010.gfilter(c,type)
return c:IsSetCard(0x251) and c:IsType(type)
end
function c100415010.chkfilter(tp,type)
function c100415010.check(tp,type)
return Duel.IsExistingMatchingCard(c100415010.gfilter,tp,LOCATION_GRAVE,0,1,nil,type)
end
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
local b=e:IsHasType(EFFECT_TYPE_ACTIVATE) and not e:GetHandler():IsLocation(LOCATION_SZONE)
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
......@@ -41,7 +42,7 @@ end
function c100415010.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
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)
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()
......
......@@ -26,8 +26,8 @@ function c100415013.initial_effect(c)
e3:SetOperation(c100415013.recop)
c:RegisterEffect(e3)
end
function c100415013.spcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==1
function c100415013.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==1
end
function c100415013.spfilter(c,e,tp)
return c:IsSetCard(0x253) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
......@@ -27,9 +27,17 @@ function c100415014.initial_effect(c)
e3:SetCost(c100415014.atcost)
e3:SetOperation(c100415014.atop)
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
function c100415014.spcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==1
function c100415014.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)==1
end
function c100415014.spfilter(c,e,tp)
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)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c100415014.atcost(e,c)
local tp=e:GetHandlerPlayer()
return Duel.CheckLPCost(1-tp,500)
function c100415014.atcost(e,c,tp)
local ct=Duel.GetFlagEffect(tp,100415014)
return Duel.CheckLPCost(tp,ct*500)
end
function c100415014.atop(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
Duel.Hint(HINT_CARD,0,100415014)
Duel.PayLPCost(1-tp,500)
Duel.PayLPCost(tp,500)
end
......@@ -57,7 +57,7 @@ end
function c100415015.spfilter(c,e,tp)
return c:IsSetCard(0x253) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
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
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)
......
......@@ -67,8 +67,7 @@ end
function c100415017.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
local ct=g:GetCount()-2
if ct<1 then return end
if chk==0 then return Duel.IsPlayerCanSendtoGrave(1-tp) and g:IsExists(Card.IsAbleToGrave,1,nil,1-tp,nil) end
if chk==0 then return Duel.IsPlayerCanSendtoGrave(1-tp) and ct>0 and g:IsExists(Card.IsAbleToGrave,1,nil,1-tp,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,ct,0,0)
end
function c100415017.tgop(e,tp,eg,ep,ev,re,r,rp)
......@@ -85,7 +84,7 @@ function c100415017.cfilter(c,setcode)
return c:IsFaceup() and c:IsSetCard(setcode)
end
function c100415017.con(e)
local tp=e:GetHandler():GetControler()
return Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_MZONE,0,1,nil,0x252)
and Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_MZONE,0,1,nil,0x253)
local tp=e:GetHandlerPlayer()
return Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_GRAVE,0,1,nil,0x252)
and Duel.IsExistingMatchingCard(c100415017.cfilter,tp,LOCATION_GRAVE,0,1,nil,0x253)
end
......@@ -8,6 +8,7 @@ function c100415018.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,100415018+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c100415018.cost)
e1:SetTarget(c100415018.target)
......@@ -45,5 +46,5 @@ function c100415018.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
end
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
......@@ -10,32 +10,32 @@ function c100415019.initial_effect(c)
--negate attack
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(100415019,0))
e2:SetCountLimit(1,100415019)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,100415019)
e2:SetCost(c100415019.cost1)
e2:SetOperation(c100415019.operation1)
c:RegisterEffect(e2)
--to deck
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(100415019,1))
e3:SetCountLimit(1,100415019+100)
e3:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1,100415019+100)
e3:SetCondition(c100415019.condition2)
e3:SetTarget(c100415019.target2)
e3:SetOperation(c100415019.operation2)
c:RegisterEffect(e3)
end
function c100415019.cfilter1(c,tp)
return c:IsSetCard(0x252,0x253)
and (c:IsControler(tp) or c:IsFaceup()) and c:IsReleasable()
return c:IsSetCard(0x252,0x253) and (c:IsControler(tp) or c:IsFaceup())
end
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)
Duel.Release(sg,REASON_COST)
end
......@@ -50,7 +50,7 @@ function c100415019.tgfilter2(c,check)
and (c:IsAbleToDeck() or (check and c:IsAbleToHand()))
end
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 chk==0 then return Duel.IsExistingTarget(c100415019.tgfilter2,tp,LOCATION_GRAVE,0,1,nil,check) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
......
......@@ -8,6 +8,7 @@ function c100415021.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetCountLimit(1,100415021+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c100415021.target)
e1:SetOperation(c100415021.activate)
......@@ -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)
end
function c100415021.linkfilter(c)
return c:IsLinkSummonable(nil) and c:IsSetCard(0x254)
return c:IsLinkSummonable(nil) and c:IsSetCard(0x2254)
end
function c100415021.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
......
--Evil★Twin イージーゲーム
--
--Script by JoyJ
--Script by JoyJ & mercury233
function c100415022.initial_effect(c)
--activate
local e0=Effect.CreateEffect(c)
......@@ -48,7 +48,7 @@ function c100415022.tgfilter1(c)
return c:IsSetCard(0x252,0x253) and c:IsFaceup()
end
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 Duel.IsExistingTarget(c100415022.tgfilter1,tp,LOCATION_MZONE,0,1,c)
end
......@@ -78,6 +78,8 @@ function c100415022.activate1(e,tp,eg,ep,ev,re,r,rp)
end
function c100415022.condition2(e,tp,eg,ep,ev,re,r,rp)
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)
return ex and tg~=nil and tc+tg:FilterCount(Card.IsOnField,nil)-tg:GetCount()>0
end
......
......@@ -21,6 +21,7 @@ function c100415023.initial_effect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMING_END_PHASE)
e2:SetCountLimit(1,100415023+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(c100415023.condition)
e2:SetTarget(c100415023.target2)
......
--竜輝巧バンα
--竜輝巧バンα
--Scripted by mallu11
function c100415024.initial_effect(c)
......@@ -34,7 +34,8 @@ function c100415024.costfilter(c,tp)
end
function c100415024.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
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())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
--竜輝巧ラスβ
--竜輝巧ラスβ
--Scripted by mallu11
function c100415025.initial_effect(c)
......@@ -34,7 +34,8 @@ function c100415025.costfilter(c,tp)
end
function c100415025.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
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())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
--竜輝巧-エルγ
--竜輝巧エルγ
--Scripted by mallu11
function c100415026.initial_effect(c)
......@@ -34,7 +34,8 @@ function c100415026.costfilter(c,tp)
end
function c100415026.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
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())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
--竜輝巧-エルδ
--竜輝巧-ルタδ
--Scripted by mallu11
function c100415027.initial_effect(c)
......
--竜輝巧-アルζ
--竜輝巧アルζ
--Scripted by mallu11
function c100415028.initial_effect(c)
......
--竜儀巧-メテオニス=DRA
--竜儀巧メテオニス=DRA
--Scripted by mallu11
function c100415029.initial_effect(c)
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
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -18,19 +24,14 @@ function c100415029.initial_effect(c)
e2:SetCondition(c100415029.atkcon)
e2:SetValue(c100415029.atkfilter)
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)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetValue(c100415029.valcheck)
e3:SetLabelObject(e0)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCondition(c100415029.matcon)
e3:SetOperation(c100415029.matop)
c:RegisterEffect(e3)
e0:SetLabelObject(e3)
--to grave
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(100415029,0))
......@@ -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
end
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
function c100415029.lvfilter(c,rc)
return c:GetRitualLevel(rc)>0
......@@ -68,7 +69,7 @@ end
function c100415029.valcheck(e,c)
local mg=c:GetMaterial()
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)
else
e:GetLabelObject():SetLabel(0)
......
......@@ -3,6 +3,12 @@
--Scripted by mallu11
function c100415030.initial_effect(c)
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
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -22,19 +28,14 @@ function c100415030.initial_effect(c)
e2:SetTarget(c100415030.destg)
e2:SetOperation(c100415030.desop)
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)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetValue(c100415030.valcheck)
e3:SetLabelObject(e0)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCondition(c100415030.matcon)
e3:SetOperation(c100415030.matop)
c:RegisterEffect(e3)
e0:SetLabelObject(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(100415030,1))
......
--竜輝巧-ファフニール
--竜輝巧ファフニール
--Scripted by mallu11
function c100415031.initial_effect(c)
......@@ -71,8 +71,8 @@ function c100415031.lvtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetTargetCard(eg)
end
function c100415031.lvop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(c100415031.lvfilter,nil,e)
local c=e:GetHandler()
local g=eg:Filter(c100415031.lvfilter,nil,e)
local tc=g:GetFirst()
while tc do
local atk=tc:GetAttack()
......@@ -80,7 +80,6 @@ function c100415031.lvop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(-lv)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
......
......@@ -22,14 +22,6 @@ function c100415032.initial_effect(c)
e2:SetTarget(c100415032.thtg)
e2:SetOperation(c100415032.thop)
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
function c100415032.cfilter(c)
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)
end
function c100415032.target(e,tp,eg,ep,ev,re,r,rp,chk)
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")
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end
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)
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()
......@@ -92,12 +84,12 @@ function c100415032.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function c100415032.RitualCheckGreater(g,c,atk)
if atk==0 then return #g==1 end
if atk==0 then return false end
Duel.SetSelectedCard(g)
return g:CheckWithSumGreater(Card.GetAttack,atk)
end
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)
end
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)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(2000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,Duel.GetTurnPlayer()==tp and 2 or 1)
tc:RegisterEffect(e1)
......
......@@ -41,7 +41,6 @@ function c100415035.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(-1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,Duel.GetTurnPlayer()==tp and 2 or 1)
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