Commit 495ef369 authored by Satty's avatar Satty

fix

parent 95f00810
Pipeline #36995 passed with stages
in 42 minutes and 4 seconds
...@@ -7,6 +7,7 @@ function s.initial_effect(c) ...@@ -7,6 +7,7 @@ function s.initial_effect(c)
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:SetHintTiming(0,TIMING_END_PHASE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(s.target) e1:SetTarget(s.target)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -196,6 +196,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -196,6 +196,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e2,true) tc:RegisterEffect(e2,true)
elseif op==1 then elseif op==1 then
Duel.NegateSummon(tc) Duel.NegateSummon(tc)
Duel.Exile(tc,REASON_RULE)
if not Duel.Equip(tp,tc,c,false,true) then return end if not Duel.Equip(tp,tc,c,false,true) then return end
--equip limit --equip limit
local e1=Effect.CreateEffect(tc) local e1=Effect.CreateEffect(tc)
......
...@@ -156,14 +156,14 @@ function c60158212.discon(e,tp,eg,ep,ev,re,r,rp) ...@@ -156,14 +156,14 @@ function c60158212.discon(e,tp,eg,ep,ev,re,r,rp)
local sc=re:GetHandler() local sc=re:GetHandler()
local sccode=sc:GetOriginalCode() local sccode=sc:GetOriginalCode()
return sc~=e:GetHandler() and re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():GetFlagEffect(60158212)<=0 and Duel.IsPlayerCanSpecialSummonMonster(tp,sccode,0,TYPES_EFFECT_TRAP_MONSTER,1500,1500,2,RACE_MACHINE,ATTRIBUTE_WATER) return sc~=e:GetHandler() and re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():GetFlagEffect(60158212)<=0 and Duel.IsPlayerCanSpecialSummonMonster(tp,sccode,0,TYPES_EFFECT_TRAP_MONSTER,1500,1500,2,RACE_MACHINE,ATTRIBUTE_WATER)
and not (sc:IsLocation(LOCATION_MZONE) or sc:IsLocation(LOCATION_DECK) or sc:IsLocation(LOCATION_HAND)) and not (sc:IsLocation(LOCATION_MZONE) or sc:IsLocation(LOCATION_DECK) or sc:IsLocation(LOCATION_HAND)) and not (sc:IsType(TYPE_PENDULUM) and sc:IsLocation(LOCATION_PZONE))
end end
function c60158212.disop(e,tp,eg,ep,ev,re,r,rp) function c60158212.disop(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local sc=re:GetHandler() local sc=re:GetHandler()
local sccode=sc:GetOriginalCode() local sccode=sc:GetOriginalCode()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,sccode,0,TYPES_EFFECT_TRAP_MONSTER,1500,1500,2,RACE_MACHINE,ATTRIBUTE_WATER) and not (sc:IsLocation(LOCATION_MZONE) or sc:IsLocation(LOCATION_DECK) or sc:IsLocation(LOCATION_HAND)) and Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(60158212,4)) then if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,sccode,0,TYPES_EFFECT_TRAP_MONSTER,1500,1500,2,RACE_MACHINE,ATTRIBUTE_WATER) and not (sc:IsLocation(LOCATION_MZONE) or sc:IsLocation(LOCATION_DECK) or sc:IsLocation(LOCATION_HAND)) and not (sc:IsType(TYPE_PENDULUM) and sc:IsLocation(LOCATION_PZONE)) and Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(60158212,4)) then
if sc:IsType(TYPE_SPELL) then if sc:IsType(TYPE_SPELL) then
sc:AddMonsterAttribute(TYPE_EFFECT+TYPE_SPELL,ATTRIBUTE_WATER,RACE_MACHINE,2,1500,1500) sc:AddMonsterAttribute(TYPE_EFFECT+TYPE_SPELL,ATTRIBUTE_WATER,RACE_MACHINE,2,1500,1500)
elseif sc:IsType(TYPE_TRAP) then elseif sc:IsType(TYPE_TRAP) then
......
...@@ -5,7 +5,7 @@ function c60158214.initial_effect(c) ...@@ -5,7 +5,7 @@ function c60158214.initial_effect(c)
--1xg --1xg
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60158214,0)) e1:SetDescription(aux.Stringid(60158214,0))
e1:SetCategory(CATEGORY_DECKDES) 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:SetCountLimit(1,60158214) e1:SetCountLimit(1,60158214)
......
...@@ -43,7 +43,7 @@ function c98500140.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,7 +43,7 @@ function c98500140.condition(e,tp,eg,ep,ev,re,r,rp)
end end
function c98500140.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c98500140.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local op=Duel.SelectOption(tp,aux.Stringid(98500140,9),aux.Stringid(98500140,10)) local op=Duel.SelectOption(tp,aux.Stringid(98500140,7),aux.Stringid(98500140,8))
if op==0 then if op==0 then
Duel.ChangePosition(e:GetHandler(),POS_FACEUP_ATTACK) Duel.ChangePosition(e:GetHandler(),POS_FACEUP_ATTACK)
else else
...@@ -99,7 +99,7 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,7 +99,7 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SUMMON_SUCCESS) e0:SetCode(EVENT_SUMMON_SUCCESS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e0:SetCountLimit(1,98500510) e0:SetCountLimit(1,98500143)
e0:SetReset(RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END) e0:SetReset(RESET_EVENT+0x7e0000+RESET_PHASE+PHASE_END)
e0:SetOperation(c98500140.efilter) e0:SetOperation(c98500140.efilter)
c:RegisterEffect(e0) c:RegisterEffect(e0)
...@@ -107,7 +107,7 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -107,7 +107,7 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_MSET) e4:SetCode(EVENT_MSET)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e4:SetCountLimit(1,98500510) e4:SetCountLimit(1,98500143)
e4:SetReset(RESET_PHASE+PHASE_END) e4:SetReset(RESET_PHASE+PHASE_END)
-- e4:SetLabelObject(c) -- e4:SetLabelObject(c)
e4:SetOperation(c98500140.efilter) e4:SetOperation(c98500140.efilter)
...@@ -117,18 +117,18 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -117,18 +117,18 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp)
local ts={} local ts={}
local index=1 local index=1
if e:GetHandler():IsSummonable(true,nil) then if e:GetHandler():IsSummonable(true,nil) then
ts[index]=aux.Stringid(98500140,7) ts[index]=aux.Stringid(98500140,9)
index=index+1 index=index+1
end end
if e:GetHandler():IsMSetable(true,nil) then if e:GetHandler():IsMSetable(true,nil) then
ts[index]=aux.Stringid(98500140,8) ts[index]=aux.Stringid(98500140,10)
index=index+1 index=index+1
end end
local c=e:GetHandler() local c=e:GetHandler()
local opt=Duel.SelectOption(tp,table.unpack(ts)) local opt=Duel.SelectOption(tp,table.unpack(ts))
if ts[opt+1]==aux.Stringid(98500140,7) then if ts[opt+1]==aux.Stringid(98500140,9) then
Duel.Summon(tp,c,true,nil) Duel.Summon(tp,c,true,nil)
elseif ts[opt+1]==aux.Stringid(98500140,8) then elseif ts[opt+1]==aux.Stringid(98500140,10) then
Duel.MSet(tp,c,true,nil) Duel.MSet(tp,c,true,nil)
end end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -42,7 +42,7 @@ function c98500150.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +42,7 @@ function c98500150.condition(e,tp,eg,ep,ev,re,r,rp)
end end
function c98500150.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c98500150.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local op=Duel.SelectOption(tp,aux.Stringid(98500150,9),aux.Stringid(98500150,10)) local op=Duel.SelectOption(tp,aux.Stringid(98500150,7),aux.Stringid(98500150,8))
if op==0 then if op==0 then
Duel.ChangePosition(e:GetHandler(),POS_FACEUP_ATTACK) Duel.ChangePosition(e:GetHandler(),POS_FACEUP_ATTACK)
else else
...@@ -97,7 +97,7 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -97,7 +97,7 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SUMMON_SUCCESS) e0:SetCode(EVENT_SUMMON_SUCCESS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e0:SetCountLimit(1,98500520) e0:SetCountLimit(1,98500153)
e0:SetReset(RESET_EVENT+0x7e0000) e0:SetReset(RESET_EVENT+0x7e0000)
e0:SetOperation(c98500150.efilter) e0:SetOperation(c98500150.efilter)
c:RegisterEffect(e0) c:RegisterEffect(e0)
...@@ -105,7 +105,7 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,7 +105,7 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_MSET) e4:SetCode(EVENT_MSET)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e4:SetCountLimit(1,98500520) e4:SetCountLimit(1,98500153)
e4:SetReset(RESET_PHASE+PHASE_END) e4:SetReset(RESET_PHASE+PHASE_END)
-- e4:SetLabelObject(c) -- e4:SetLabelObject(c)
e4:SetOperation(c98500150.efilter) e4:SetOperation(c98500150.efilter)
...@@ -115,18 +115,18 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp) ...@@ -115,18 +115,18 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp)
local ts={} local ts={}
local index=1 local index=1
if e:GetHandler():IsSummonable(true,nil) then if e:GetHandler():IsSummonable(true,nil) then
ts[index]=aux.Stringid(98500150,7) ts[index]=aux.Stringid(98500150,9)
index=index+1 index=index+1
end end
if e:GetHandler():IsMSetable(true,nil) then if e:GetHandler():IsMSetable(true,nil) then
ts[index]=aux.Stringid(98500150,8) ts[index]=aux.Stringid(98500150,10)
index=index+1 index=index+1
end end
local c=e:GetHandler() local c=e:GetHandler()
local opt=Duel.SelectOption(tp,table.unpack(ts)) local opt=Duel.SelectOption(tp,table.unpack(ts))
if ts[opt+1]==aux.Stringid(98500150,7) then if ts[opt+1]==aux.Stringid(98500150,9) then
Duel.Summon(tp,c,true,nil) Duel.Summon(tp,c,true,nil)
elseif ts[opt+1]==aux.Stringid(98500150,8) then elseif ts[opt+1]==aux.Stringid(98500150,10) then
Duel.MSet(tp,c,true,nil) Duel.MSet(tp,c,true,nil)
end end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
...@@ -153,6 +153,7 @@ function c98500150.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -153,6 +153,7 @@ function c98500150.desop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Destroy(sg,REASON_EFFECT)~=0 then if Duel.Destroy(sg,REASON_EFFECT)~=0 then
Duel.BreakEffect() Duel.BreakEffect()
if Duel.IsExistingTarget(c98500150.filter4,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(98500150,4)) then if Duel.IsExistingTarget(c98500150.filter4,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(98500150,4)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
local g2=Duel.SelectMatchingCard(tp,c98500150.filter,tp,0,LOCATION_MZONE,1,1,nil) local g2=Duel.SelectMatchingCard(tp,c98500150.filter,tp,0,LOCATION_MZONE,1,1,nil)
local tc2=g2:GetFirst() local tc2=g2:GetFirst()
Duel.GetControl(tc2,tp,PHASE_END,1) Duel.GetControl(tc2,tp,PHASE_END,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