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)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
......
......@@ -195,7 +195,8 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
tc:RegisterEffect(e2,true)
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
--equip limit
local e1=Effect.CreateEffect(tc)
......
......@@ -156,14 +156,14 @@ function c60158212.discon(e,tp,eg,ep,ev,re,r,rp)
local sc=re:GetHandler()
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)
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
function c60158212.disop(e,tp,eg,ep,ev,re,r,rp)
local tp=e:GetHandlerPlayer()
local sc=re:GetHandler()
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
sc:AddMonsterAttribute(TYPE_EFFECT+TYPE_SPELL,ATTRIBUTE_WATER,RACE_MACHINE,2,1500,1500)
elseif sc:IsType(TYPE_TRAP) then
......
......@@ -5,7 +5,7 @@ function c60158214.initial_effect(c)
--1xg
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60158214,0))
e1:SetCategory(CATEGORY_DECKDES)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,60158214)
......
......@@ -43,7 +43,7 @@ function c98500140.condition(e,tp,eg,ep,ev,re,r,rp)
end
function c98500140.cost(e,tp,eg,ep,ev,re,r,rp,chk)
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
Duel.ChangePosition(e:GetHandler(),POS_FACEUP_ATTACK)
else
......@@ -99,7 +99,7 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SUMMON_SUCCESS)
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:SetOperation(c98500140.efilter)
c:RegisterEffect(e0)
......@@ -107,7 +107,7 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_MSET)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e4:SetCountLimit(1,98500510)
e4:SetCountLimit(1,98500143)
e4:SetReset(RESET_PHASE+PHASE_END)
-- e4:SetLabelObject(c)
e4:SetOperation(c98500140.efilter)
......@@ -117,18 +117,18 @@ function c98500140.hspop(e,tp,eg,ep,ev,re,r,rp)
local ts={}
local index=1
if e:GetHandler():IsSummonable(true,nil) then
ts[index]=aux.Stringid(98500140,7)
ts[index]=aux.Stringid(98500140,9)
index=index+1
end
if e:GetHandler():IsMSetable(true,nil) then
ts[index]=aux.Stringid(98500140,8)
ts[index]=aux.Stringid(98500140,10)
index=index+1
end
local c=e:GetHandler()
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)
elseif ts[opt+1]==aux.Stringid(98500140,8) then
elseif ts[opt+1]==aux.Stringid(98500140,10) then
Duel.MSet(tp,c,true,nil)
end
local tc=Duel.GetFirstTarget()
......
......@@ -42,7 +42,7 @@ function c98500150.condition(e,tp,eg,ep,ev,re,r,rp)
end
function c98500150.cost(e,tp,eg,ep,ev,re,r,rp,chk)
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
Duel.ChangePosition(e:GetHandler(),POS_FACEUP_ATTACK)
else
......@@ -97,7 +97,7 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp)
e0:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_SUMMON_SUCCESS)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e0:SetCountLimit(1,98500520)
e0:SetCountLimit(1,98500153)
e0:SetReset(RESET_EVENT+0x7e0000)
e0:SetOperation(c98500150.efilter)
c:RegisterEffect(e0)
......@@ -105,7 +105,7 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_MSET)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_OATH)
e4:SetCountLimit(1,98500520)
e4:SetCountLimit(1,98500153)
e4:SetReset(RESET_PHASE+PHASE_END)
-- e4:SetLabelObject(c)
e4:SetOperation(c98500150.efilter)
......@@ -115,18 +115,18 @@ function c98500150.hspop(e,tp,eg,ep,ev,re,r,rp)
local ts={}
local index=1
if e:GetHandler():IsSummonable(true,nil) then
ts[index]=aux.Stringid(98500150,7)
ts[index]=aux.Stringid(98500150,9)
index=index+1
end
if e:GetHandler():IsMSetable(true,nil) then
ts[index]=aux.Stringid(98500150,8)
ts[index]=aux.Stringid(98500150,10)
index=index+1
end
local c=e:GetHandler()
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)
elseif ts[opt+1]==aux.Stringid(98500150,8) then
elseif ts[opt+1]==aux.Stringid(98500150,10) then
Duel.MSet(tp,c,true,nil)
end
local tc=Duel.GetFirstTarget()
......@@ -153,6 +153,7 @@ function c98500150.desop(e,tp,eg,ep,ev,re,r,rp)
if Duel.Destroy(sg,REASON_EFFECT)~=0 then
Duel.BreakEffect()
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 tc2=g2:GetFirst()
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