Commit 039ecb95 authored by mercury233's avatar mercury233

fix

parent 8b6a906e
...@@ -43,7 +43,7 @@ function c100270203.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -43,7 +43,7 @@ function c100270203.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c100270203.operation(e,tp,eg,ep,ev,re,r,rp) function c100270203.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(cm.filter1,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(c100270203.filter1,tp,LOCATION_MZONE,0,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
......
...@@ -68,7 +68,7 @@ function c100270208.spop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +68,7 @@ function c100270208.spop1(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
local e1=Effect.CreateEffect(c) 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)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
......
...@@ -41,7 +41,7 @@ function c100270209.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -41,7 +41,7 @@ function c100270209.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c100270209.filter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c100270209.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c100270209.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end if chk==0 then return Duel.IsExistingTarget(c100270209.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c100270209.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c100270209.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c100270209.spop(e,tp,eg,ep,ev,re,r,rp) function c100270209.spop(e,tp,eg,ep,ev,re,r,rp)
...@@ -50,14 +50,14 @@ function c100270209.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,14 +50,14 @@ function c100270209.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c100270209.cfilter(c,tp) function c100270209.cfilter1(c,tp)
return c:IsType(TYPE_LINK) and c:IsAbleToRemoveAsCost() and Duel.GetMZoneCount(tp,c,tp)>0 return c:IsType(TYPE_LINK) and c:IsAbleToRemoveAsCost() and Duel.GetMZoneCount(tp,c,tp)>0
end end
function c100270209.spcost1(e,tp,eg,ep,ev,re,r,rp,chk) function c100270209.spcost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c100270209.cfilter,tp,LOCATION_MZONE,0,1,nil,tp) end and Duel.IsExistingMatchingCard(c100270209.cfilter1,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c100270209.cfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c100270209.cfilter1,tp,LOCATION_MZONE,0,1,1,nil,tp)
g:AddCard(e:GetHandler()) g:AddCard(e:GetHandler())
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
end end
......
...@@ -28,6 +28,7 @@ function c100270210.initial_effect(c) ...@@ -28,6 +28,7 @@ function c100270210.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetCode(EFFECT_IGNORE_BATTLE_TARGET) e3:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetValue(aux.imval1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--spsummon --spsummon
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
...@@ -48,7 +49,7 @@ function c100270210.mfilter(c) ...@@ -48,7 +49,7 @@ function c100270210.mfilter(c)
end end
function c100270210.valcheck(e,c) function c100270210.valcheck(e,c)
local g=c:GetMaterial() local g=c:GetMaterial()
if g:IsExists(Card.IsLinkCode,1,nil,100270201) then if g:IsExists(Card.IsLinkCode,1,nil,100270206) then
e:GetLabelObject():SetLabel(1) e:GetLabelObject():SetLabel(1)
else else
e:GetLabelObject():SetLabel(0) e:GetLabelObject():SetLabel(0)
...@@ -80,7 +81,7 @@ function c100270210.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,7 +81,7 @@ function c100270210.spcon(e,tp,eg,ep,ev,re,r,rp)
return ep==tp and bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0 return ep==tp and bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0
end end
function c100270210.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c100270210.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c100270210.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c100270210.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c100270210.spop(e,tp,eg,ep,ev,re,r,rp) function c100270210.spop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -11,6 +11,7 @@ function c100270211.initial_effect(c) ...@@ -11,6 +11,7 @@ function c100270211.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_IGNORE_BATTLE_TARGET) e1:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(aux.imval1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -11,6 +11,7 @@ function c100270212.initial_effect(c) ...@@ -11,6 +11,7 @@ function c100270212.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetCode(EFFECT_IGNORE_BATTLE_TARGET) e1:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(aux.imval1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -22,6 +22,7 @@ function c100270213.initial_effect(c) ...@@ -22,6 +22,7 @@ function c100270213.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_IGNORE_BATTLE_TARGET) e2:SetCode(EFFECT_IGNORE_BATTLE_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetValue(aux.imval1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--destroy --destroy
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -43,7 +44,7 @@ function c100270213.thcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,7 +44,7 @@ function c100270213.thcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsSummonType(SUMMON_TYPE_LINK) return c:IsSummonType(SUMMON_TYPE_LINK)
end end
function c100270213.thfilter(c) function c100270213.thfilter(c)
return c:IsSetCard(0x255) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() return c:IsSetCard(0x256) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end end
function c100270213.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c100270213.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c100270213.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c100270213.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -76,5 +76,5 @@ function c100270214.con(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,5 +76,5 @@ function c100270214.con(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE
end end
function c100270214.op(e,tp,eg,ep,ev,re,r,rp) function c100270214.op(e,tp,eg,ep,ev,re,r,rp)
Duel.SkipPhase(1-tp,PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1) Duel.SkipPhase(Duel.GetTurnPlayer(),PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1)
end end
\ No newline at end of file
...@@ -74,7 +74,7 @@ function c100270216.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,7 +74,7 @@ function c100270216.atkop(e,tp,eg,ep,ev,re,r,rp)
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:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(tc:GetLink()*800) e1:SetValue(tc:GetLink()*800)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
...@@ -88,6 +88,7 @@ function c100270216.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -88,6 +88,7 @@ function c100270216.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,bc,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,bc,1,0,0)
end end
function c100270216.spop(e,tp,eg,ep,ev,re,r,rp) function c100270216.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
local zone=Duel.GetLinkedZone(tp)&0x1f local zone=Duel.GetLinkedZone(tp)&0x1f
if zone~=0 and tc:IsRelateToEffect(e) then if zone~=0 and tc:IsRelateToEffect(e) then
......
...@@ -72,7 +72,7 @@ function c101102084.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -72,7 +72,7 @@ function c101102084.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
Duel.Release(e:GetHandler(),REASON_COST+REASON_RELEASE) Duel.Release(e:GetHandler(),REASON_COST+REASON_RELEASE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local cost=Duel.SelectMatchingCard(tp,c101102084.spcostfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler(),e,tp,e:GetHandler()) local cost=Duel.SelectMatchingCard(tp,c101102084.spcostfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler(),e,tp,e:GetHandler()):GetFirst()
e:SetLabel(cost:GetType()) e:SetLabel(cost:GetType())
Duel.Remove(cost,POS_FACEUP,REASON_COST) Duel.Remove(cost,POS_FACEUP,REASON_COST)
end end
......
...@@ -72,7 +72,7 @@ function c101102085.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -72,7 +72,7 @@ function c101102085.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
Duel.Release(e:GetHandler(),REASON_COST+REASON_RELEASE) Duel.Release(e:GetHandler(),REASON_COST+REASON_RELEASE)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local cost=Duel.SelectMatchingCard(tp,c101102085.spcostfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler(),e,tp,e:GetHandler()) local cost=Duel.SelectMatchingCard(tp,c101102085.spcostfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler(),e,tp,e:GetHandler()):GetFirst()
e:SetLabel(cost:GetType()) e:SetLabel(cost:GetType())
Duel.Remove(cost,POS_FACEUP,REASON_COST) Duel.Remove(cost,POS_FACEUP,REASON_COST)
end end
......
...@@ -58,7 +58,8 @@ function c101102086.sp2tgfilter(c,e,tp) ...@@ -58,7 +58,8 @@ function c101102086.sp2tgfilter(c,e,tp)
and c:IsSetCard(0x258) and c:IsLevel(8) and c:IsSetCard(0x258) and c:IsLevel(8)
end end
function c101102086.sp2tg(e,tp,eg,ep,ev,re,r,rp,chk) function c101102086.sp2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101102086.sp2tgfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,1,nil,e,tp) and Duel.GetMZoneCount(tp)>0 end if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c101102086.sp2tgfilter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end end
function c101102086.sp2op(e,tp,eg,ep,ev,re,r,rp) function c101102086.sp2op(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -43,7 +43,7 @@ function c101102092.thfilter(c,e,tp) ...@@ -43,7 +43,7 @@ function c101102092.thfilter(c,e,tp)
end end
function c101102092.activate(e,tp,eg,ep,ev,re,r,rp) function c101102092.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
if not Duel.GetMZoneCount(tp)>0 then return end if Duel.GetMZoneCount(tp)<=0 then return end
local g=Duel.SelectMatchingCard(tp,c101102092.thfilter,tp,LOCATION_HAND+LOCATION_REMOVED,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c101102092.thfilter,tp,LOCATION_HAND+LOCATION_REMOVED,1,1,nil,e,tp)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(101102092,0)) then if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(101102092,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -29,7 +29,7 @@ function c101102096.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -29,7 +29,7 @@ function c101102096.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c101102096.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,nil,Duel.GetMZoneCount(tp)>0) local g=Duel.GetMatchingGroup(c101102096.filter,tp,LOCATION_DECK+LOCATION_REMOVED,0,nil,Duel.GetMZoneCount(tp)>0)
if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(101102096,0)) then if #g>0 and Duel.SelectYesNo(tp,aux.Stringid(101102096,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local tc=g:Select(tp,1,1,nil) local tc=g:Select(tp,1,1,nil):GetFirst()
local opt=0 local opt=0
if not tc:IsAbleToHand() then if not tc:IsAbleToHand() then
opt=0 opt=0
......
...@@ -59,13 +59,14 @@ function c101103041.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,13 +59,14 @@ function c101103041.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
end end
end end
--破壊された function c101103041.cfilter(c)
function c101103041.desfilter(c)
return c:IsFaceup() and c:IsType(TYPE_FUSION) return c:IsFaceup() and c:IsType(TYPE_FUSION)
end end
function c101103041.descon(e) --破壊された
return Duel.IsExistingMatchingCard(c101103041.desfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,2,nil) function c101103041.descon(e,tp,eg,ep,ev,re,r,rp)
and ep==1-tp and re:GetHandler():IsOnField() and re:IsActiveType(TYPE_MONSTER) local c=e:GetHandler()
return ep==1-tp and re:GetHandler():IsOnField() and re:GetHandler():IsRelateToEffect(re) and re:IsActiveType(TYPE_MONSTER)
and Duel.IsExistingMatchingCard(c101103041.cfilter,tp,LOCATION_MZONE,0,2,nil)
end end
function c101103041.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c101103041.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return re:GetHandler():IsDestructable() end if chk==0 then return re:GetHandler():IsDestructable() end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment