Commit b366a819 authored by mercury233's avatar mercury233

fix

parent 92df479e
...@@ -43,7 +43,7 @@ function c100236002.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,7 +43,7 @@ function c100236002.discon(e,tp,eg,ep,ev,re,r,rp)
end end
function c100236002.discost(e,tp,eg,ep,ev,re,r,rp,chk) function c100236002.discost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD) Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD,nil)
end end
function c100236002.distg(e,tp,eg,ep,ev,re,r,rp,chk) function c100236002.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -25,7 +25,7 @@ function c100236009.filter(c,e,tp) ...@@ -25,7 +25,7 @@ function c100236009.filter(c,e,tp)
return c:IsSetCard(0x8) and c:IsType(TYPE_FUSION) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) return c:IsSetCard(0x8) and c:IsType(TYPE_FUSION) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end end
function c100236009.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100236009.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c100236009.filter(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c100236009.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c100236009.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingTarget(c100236009.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -31,7 +31,7 @@ end ...@@ -31,7 +31,7 @@ end
function c100236015.filter(c,e,tp,re) function c100236015.filter(c,e,tp,re)
return c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE) return c:GetPreviousControler()==tp and c:IsPreviousLocation(LOCATION_MZONE)
and c:IsSetCard(0xa3) and c:IsType(TYPE_SYNCHRO) and c:IsReason(REASON_COST) and c==re:GetHandler() and c:IsSetCard(0xa3) and c:IsType(TYPE_SYNCHRO) and c:IsReason(REASON_COST) and c==re:GetHandler()
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeEffectTarget(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c100236015.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100236015.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
...@@ -46,12 +46,15 @@ function c100236015.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -46,12 +46,15 @@ function c100236015.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
Duel.SetTargetCard(tg) Duel.SetTargetCard(tg)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,tg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,tg,1,0,0)
Duel.SetChainLimit(c100236015.chlimit)
end
function c100236015.chlimit(e,ep,tp)
return tp==ep
end end
function c100236015.activate(e,tp,eg,ep,ev,re,r,rp) function c100236015.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
tc:RegisterFlagEffect(100236015,RESET_EVENT+RESETS_STANDARD,0,1,e:GetHandler():GetFieldID()) tc:RegisterFlagEffect(100236015,RESET_EVENT+RESETS_STANDARD,0,1,e:GetHandler():GetFieldID())
end end
end end
......
...@@ -8,7 +8,7 @@ function c100236019.initial_effect(c) ...@@ -8,7 +8,7 @@ function c100236019.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(100236019,0)) e1:SetDescription(aux.Stringid(100236019,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
...@@ -28,7 +28,7 @@ function c100236019.thfilter(c) ...@@ -28,7 +28,7 @@ function c100236019.thfilter(c)
return c:IsCode(94770493) and c:IsAbleToHand() return c:IsCode(94770493) and c:IsAbleToHand()
end end
function c100236019.spfilter(c,e,tp,mc) function c100236019.spfilter(c,e,tp,mc)
return not c:IsCode(100236019) and c:IsSetCard(0x107f) and mc:IsCanBeXyzMaterial(c) return not c:IsCode(100236019) and c:IsType(TYPE_XYZ) and c:IsSetCard(0x107f) and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false)
end end
function c100236019.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c100236019.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -11,8 +11,8 @@ function c100236027.initial_effect(c) ...@@ -11,8 +11,8 @@ function c100236027.initial_effect(c)
--scale --scale
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(100236027,0)) e2:SetDescription(aux.Stringid(100236027,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,100236027) e2:SetCountLimit(1,100236027)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetTarget(c100236027.target) e2:SetTarget(c100236027.target)
......
...@@ -17,6 +17,7 @@ function c100236031.initial_effect(c) ...@@ -17,6 +17,7 @@ function c100236031.initial_effect(c)
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DISABLE) e1:SetCategory(CATEGORY_POSITION+CATEGORY_DISABLE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,100236031) e1:SetCountLimit(1,100236031)
e1:SetCondition(c100236031.poscon) e1:SetCondition(c100236031.poscon)
......
...@@ -49,7 +49,7 @@ function c100236033.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,7 +49,7 @@ function c100236033.operation(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterFlagEffect(100236033,RESET_EVENT+0x1220000+RESET_PHASE+PHASE_END,0,1) tc:RegisterFlagEffect(100236033,RESET_EVENT+0x1220000+RESET_PHASE+PHASE_END,0,1)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(100236033,1)) e3:SetDescription(aux.Stringid(100236033,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_BATTLED) e3:SetCode(EVENT_BATTLED)
e3:SetLabelObject(tc) e3:SetLabelObject(tc)
......
...@@ -9,7 +9,7 @@ function c100238001.initial_effect(c) ...@@ -9,7 +9,7 @@ function c100238001.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0) e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_WARRIOR)) e1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_WARRIOR))
e1:SetValue(500) e1:SetValue(500)
......
...@@ -8,7 +8,7 @@ function c100238004.initial_effect(c) ...@@ -8,7 +8,7 @@ function c100238004.initial_effect(c)
--tohand --tohand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(100238004,0)) e1:SetDescription(aux.Stringid(100238004,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_DECKDES+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,100238004) e1:SetCountLimit(1,100238004)
......
...@@ -34,10 +34,12 @@ function c100238007.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -34,10 +34,12 @@ function c100238007.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.GetAttackTarget():CreateEffectRelation(e) Duel.GetAttackTarget():CreateEffectRelation(e)
end end
function c100238007.opetation(e,tp,eg,ep,ev,re,r,rp) function c100238007.opetation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local at=Duel.GetAttackTarget() local at=Duel.GetAttackTarget()
if at:IsRelateToEffect(e) then if at:IsRelateToEffect(e) then
Duel.ChangePosition(at,POS_FACEUP_ATTACK) Duel.ChangePosition(at,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
......
...@@ -34,6 +34,7 @@ function c100238008.initial_effect(c) ...@@ -34,6 +34,7 @@ function c100238008.initial_effect(c)
end end
function c100238008.tdfilter(c) function c100238008.tdfilter(c)
return c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_SYNCHRO) and c:IsAbleToExtra() return c:IsAttribute(ATTRIBUTE_WIND) and c:IsType(TYPE_SYNCHRO) and c:IsAbleToExtra()
and (c:IsLocation(LOCATION_GRAVE) or c:IsFaceup())
end end
function c100238008.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c100238008.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c100238008.tdfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) and chkc:IsControler(tp) and c100238008.tdfilter(chkc) end
......
...@@ -49,9 +49,10 @@ function c100238010.atktg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -49,9 +49,10 @@ function c100238010.atktg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,Card.IsFaceup,tp,0,LOCATION_MZONE,1,1,nil)
end end
function c100238010.atkop1(e,tp,eg,ep,ev,re,r,rp) function c100238010.atkop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc: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_SET_BASE_ATTACK) e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
......
...@@ -66,6 +66,8 @@ function c100238011.cttg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -66,6 +66,8 @@ function c100238011.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1151) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1151)
end end
function c100238011.ctop(e,tp,eg,ep,ev,re,r,rp) function c100238011.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c100238011.ctfilter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(c100238011.ctfilter,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
......
...@@ -8,18 +8,19 @@ function c100238014.initial_effect(c) ...@@ -8,18 +8,19 @@ function c100238014.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(100238014,0)) e1:SetDescription(aux.Stringid(100238014,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_BATTLE_DESTROYED)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,100238014) e1:SetCountLimit(1,100238014)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetCode(EVENT_BATTLE_DESTROYED)
e1:SetCost(c100238014.cost) e1:SetCost(c100238014.cost)
e1:SetTarget(c100238014.target) e1:SetTarget(c100238014.target)
e1:SetOperation(c100238014.activate) e1:SetOperation(c100238014.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--recover --recover
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(100238014,0)) e2:SetDescription(aux.Stringid(100238014,1))
e2:SetCategory(CATEGORY_RECOVER) e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
...@@ -35,7 +36,7 @@ function c100238014.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -35,7 +36,7 @@ function c100238014.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c100238014.filter(c,e,tp) function c100238014.filter(c,e,tp)
return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) and c:IsCanBeEffectTarget(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
function c100238014.target(e,tp,eg,ep,ev,re,r,rp,chk) function c100238014.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
......
...@@ -15,6 +15,7 @@ function c100239002.initial_effect(c) ...@@ -15,6 +15,7 @@ function c100239002.initial_effect(c)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetDescription(aux.Stringid(100239002,1)) e2:SetDescription(aux.Stringid(100239002,1))
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,100239002) e2:SetCountLimit(1,100239002)
e2:SetTarget(c100239002.distg2) e2:SetTarget(c100239002.distg2)
e2:SetOperation(c100239002.disop2) e2:SetOperation(c100239002.disop2)
......
...@@ -28,25 +28,25 @@ function c101008013.initial_effect(c) ...@@ -28,25 +28,25 @@ function c101008013.initial_effect(c)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--to hand --to hand
local e3=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101008013,2)) e4:SetDescription(aux.Stringid(101008013,2))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE) e4:SetCode(EVENT_TO_GRAVE)
e3:SetProperty(EFFECT_FLAG_DELAY) e4:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,101008013+200) e4:SetCountLimit(1,101008013+200)
e3:SetTarget(c101008013.thtg) e4:SetTarget(c101008013.thtg)
e3:SetOperation(c101008013.thop) e4:SetOperation(c101008013.thop)
c:RegisterEffect(e3) c:RegisterEffect(e4)
end end
function c101008013.cfilter(c) function c101008013.cfilter(c,tp)
return not c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER) and c:IsSetCard(0x10dc) return not c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER) and c:IsSetCard(0xdc)
and c:IsAbleToGraveAsCost() and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and Duel.GetMZoneCount(tp,c)>0 and c:IsAbleToGraveAsCost() and (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and Duel.GetMZoneCount(tp,c)>0
end end
function c101008013.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c101008013.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101008013.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101008013.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,e:GetHandler(),tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c101008013.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c101008013.cfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,e:GetHandler(),tp)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c101008013.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101008013.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -24,10 +24,10 @@ function c101008016.initial_effect(c) ...@@ -24,10 +24,10 @@ function c101008016.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c101008016.cfilter(c) function c101008016.cfilter(c)
return c:IsSetCard(0x121) and not c:IsCode(101008016) return c:IsFaceup() and c:IsSetCard(0x121) and not c:IsCode(101008016)
end end
function c101008016.condition(e,tp,eg,ep,ev,re,r,rp) function c101008016.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c101008016.cfilter,tp,LOCATION_MZONE,0,1,nil) return Duel.IsExistingMatchingCard(c101008016.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end end
function c101008016.tgfilter(c) function c101008016.tgfilter(c)
return c:IsRace(RACE_ZOMBIE) and c:IsAbleToGrave() return c:IsRace(RACE_ZOMBIE) and c:IsAbleToGrave()
......
...@@ -20,6 +20,7 @@ function c101008017.initial_effect(c) ...@@ -20,6 +20,7 @@ function c101008017.initial_effect(c)
e2:SetCategory(CATEGORY_TOGRAVE) e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,101008017+100) e2:SetCountLimit(1,101008017+100)
e2:SetCondition(c101008017.descon) e2:SetCondition(c101008017.descon)
e2:SetTarget(c101008017.destg) e2:SetTarget(c101008017.destg)
......
...@@ -59,7 +59,7 @@ function c101008018.atkfilter(c) ...@@ -59,7 +59,7 @@ function c101008018.atkfilter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON) return c:IsFaceup() and c:IsRace(RACE_DRAGON)
end end
function c101008018.atkval(e,c) function c101008018.atkval(e,c)
return Duel.GetMatchingGroupCount(c101008018.atkfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,0,nil)*-500 return Duel.GetMatchingGroupCount(c101008018.atkfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil)*-500
end end
function c101008018.thcon(e,tp,eg,ep,ev,re,r,rp) function c101008018.thcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
......
...@@ -60,7 +60,7 @@ function c101008019.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -60,7 +60,7 @@ function c101008019.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
function c101008019.operation(e,tp,eg,ep,ev,re,r,rp) function c101008019.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re)then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
end end
...@@ -91,5 +91,6 @@ function c101008019.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -91,5 +91,6 @@ function c101008019.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c101008019.thfilter,tp,LOCATION_DECK,0,1,1,nil,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c101008019.thfilter,tp,LOCATION_DECK,0,1,1,nil,e:GetHandler())
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end end
end end
...@@ -16,6 +16,7 @@ function c101008031.initial_effect(c) ...@@ -16,6 +16,7 @@ function c101008031.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101008031,2)) e2:SetDescription(aux.Stringid(101008031,2))
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BATTLE_DESTROYING) e2:SetCode(EVENT_BATTLE_DESTROYING)
e2:SetCountLimit(1,101008015+100) e2:SetCountLimit(1,101008015+100)
......
...@@ -52,7 +52,7 @@ function c101008036.get_zone(c,seq) ...@@ -52,7 +52,7 @@ function c101008036.get_zone(c,seq)
return zone return zone
end end
function c101008036.spfilter(c,e,tp,seq) function c101008036.spfilter(c,e,tp,seq)
if not (c:IsType(TYPE_LINK) and c:IsRace(RACE_CYBERSE)) then return false end if not (c:IsType(TYPE_LINK) and c:IsRace(RACE_CYBERSE) and c:GetLink()==4) then return false end
local zone=c101008036.get_zone(c,seq) local zone=c101008036.get_zone(c,seq)
return zone~=0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone) return zone~=0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone)
end end
......
...@@ -10,7 +10,7 @@ function c101008045.initial_effect(c) ...@@ -10,7 +10,7 @@ function c101008045.initial_effect(c)
e1:SetDescription(aux.Stringid(101008045,0)) e1:SetDescription(aux.Stringid(101008045,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,101008045) e1:SetCountLimit(1,101008045)
e1:SetCost(c101008045.cost) e1:SetCost(c101008045.cost)
......
...@@ -17,7 +17,7 @@ function c101008052.initial_effect(c) ...@@ -17,7 +17,7 @@ function c101008052.initial_effect(c)
e2:SetDescription(aux.Stringid(101008052,0)) e2:SetDescription(aux.Stringid(101008052,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetCountLimit(1,101008052+100) e2:SetCountLimit(1,101008052+100)
e2:SetCondition(c101008052.thcon) e2:SetCondition(c101008052.thcon)
......
...@@ -89,6 +89,7 @@ function c101008054.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,6 +89,7 @@ function c101008054.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetLabelObject(tc) e1:SetLabelObject(tc)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
if not e:IsHasType(EFFECT_TYPE_ACTIVATE) then return end
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
......
...@@ -40,6 +40,7 @@ function c101008056.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -40,6 +40,7 @@ function c101008056.activate(e,tp,eg,ep,ev,re,r,rp)
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 then if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)>0 then
local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(c101008056.spfilter2),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp,tc) local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(c101008056.spfilter2),tp,LOCATION_HAND+LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp,tc)
if #g2<=0 or not Duel.SelectYesNo(tp,aux.Stringid(101008056,0)) then return end if #g2<=0 or not Duel.SelectYesNo(tp,aux.Stringid(101008056,0)) then return end
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc2=g2:Select(tp,1,1,nil):GetFirst() local tc2=g2:Select(tp,1,1,nil):GetFirst()
if tc2 and Duel.SpecialSummonStep(tc2,0,tp,tp,false,false,POS_FACEUP) then if tc2 and Duel.SpecialSummonStep(tc2,0,tp,tp,false,false,POS_FACEUP) then
......
...@@ -72,6 +72,7 @@ function c101008059.activate2(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,6 +72,7 @@ function c101008059.activate2(e,tp,eg,ep,ev,re,r,rp)
local g2=g:Select(tp,1,1,nil) local g2=g:Select(tp,1,1,nil)
g1:Merge(g2) g1:Merge(g2)
Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g1,0,tp,tp,false,false,POS_FACEUP)
local fid=c:GetFieldID()
local sc=g1:GetFirst() local sc=g1:GetFirst()
while sc do while sc do
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
function c101008062.initial_effect(c) function c101008062.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,101008062+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,101008062+EFFECT_COUNT_CODE_OATH)
...@@ -63,6 +64,7 @@ function c101008062.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -63,6 +64,7 @@ function c101008062.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function c101008062.desop(e,tp,eg,ep,ev,re,r,rp) function c101008062.desop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then if tc and tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT) Duel.Destroy(tc,REASON_EFFECT)
......
...@@ -50,6 +50,7 @@ function c101008069.adtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -50,6 +50,7 @@ function c101008069.adtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101008069.adfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101008069.adfilter,tp,LOCATION_MZONE,0,1,nil) end
end end
function c101008069.adop(e,tp,eg,ep,ev,re,r,rp) function c101008069.adop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c101008069.adfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(c101008069.adfilter,tp,LOCATION_MZONE,0,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
......
...@@ -15,7 +15,7 @@ function c101008072.initial_effect(c) ...@@ -15,7 +15,7 @@ function c101008072.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1,101008072)
e2:SetCondition(c101008072.condition) e2:SetCondition(c101008072.condition)
e2:SetTarget(c101008072.target) e2:SetTarget(c101008072.target)
e2:SetOperation(c101008072.operation) e2:SetOperation(c101008072.operation)
......
...@@ -36,7 +36,7 @@ function c101008073.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,7 +36,7 @@ function c101008073.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 return Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0
end end
function c101008073.spfilter(c,e,tp,code) function c101008073.spfilter(c,e,tp,code)
return c:IsSetCard(0x109) and not c:IsCode(code) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x109) and c:IsType(TYPE_MONSTER) and not c:IsCode(code) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c101008073.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101008073.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
......
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