Commit 982c0ec1 authored by Grajade's avatar Grajade

Update c1199001.lua

parent 2490b3bf
...@@ -21,8 +21,8 @@ function c1199001.initial_effect(c) ...@@ -21,8 +21,8 @@ function c1199001.initial_effect(c)
end end
-- --
function c1199001.damtg1(e,tp,eg,ep,ev,re,r,rp,chk) function c1199001.damtg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return true end if chk==0 then return true end
local c=e:GetHandler()
if c:IsLocation(LOCATION_SZONE) then if c:IsLocation(LOCATION_SZONE) then
local seq=c:GetSequence() local seq=c:GetSequence()
local dis=(2^(seq))*256 local dis=(2^(seq))*256
...@@ -42,7 +42,6 @@ function c1199001.damop1(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +42,6 @@ function c1199001.damop1(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1_1,tp) Duel.RegisterEffect(e1_1,tp)
Duel.RegisterFlagEffect(tp,1199000,0,0,0) Duel.RegisterFlagEffect(tp,1199000,0,0,0)
end end
Duel.RegisterFlagEffect(tp,1199001,0,0,0)
local e1_2=Effect.CreateEffect(c) local e1_2=Effect.CreateEffect(c)
e1_2:SetType(EFFECT_TYPE_FIELD) e1_2:SetType(EFFECT_TYPE_FIELD)
e1_2:SetCode(EFFECT_DISABLE_FIELD) e1_2:SetCode(EFFECT_DISABLE_FIELD)
...@@ -53,13 +52,13 @@ end ...@@ -53,13 +52,13 @@ end
-- --
function c1199001.damval1_1(e,re,val,r,rp,rc) function c1199001.damval1_1(e,re,val,r,rp,rc)
if bit.band(r,REASON_EFFECT)==0 then return val end if bit.band(r,REASON_EFFECT)==0 then return val end
if Duel.GetFlagEffect(rp,1199001)<1 then return val end
if re then if re then
local rc=re:GetHandler() local rc=re:GetHandler()
local b1=rc:IsSetCard(0x2022) local b1=rc:IsSetCard(0x2022)
local b2=(rc:GetPreviousLocation()==LOCATION_HAND) local b2=rc:IsPreviousLocation(LOCATION_HAND)
if not (b1 and b2) then return val end if not (b1 and b2) then return val end
Duel.ResetFlagEffect(rp,1199001) e:Reset()
Duel.ResetFlagEffect(rp,1199000)
return val*2 return val*2
end end
return val return val
...@@ -73,64 +72,72 @@ function c1199001.thcon2(e,tp,eg,ep,ev,re,r,rp) ...@@ -73,64 +72,72 @@ function c1199001.thcon2(e,tp,eg,ep,ev,re,r,rp)
and re:IsHasType(0x7e0) and re:IsActiveType(TYPE_MONSTER) and re:IsHasType(0x7e0) and re:IsActiveType(TYPE_MONSTER)
and re:GetHandler():IsRace(RACE_SPELLCASTER) and re:GetHandler():IsRace(RACE_SPELLCASTER)
end end
--
function c1199001.thfilter2(c,tp) function c1199001.thfilter2(c,tp)
return c:IsSetCard(0x2022) and c:GetActivateEffect():IsActivatable(tp,false,false) return c:IsSetCard(0x2022) and c:GetActivateEffect():IsActivatable(tp,false,false)
end end
function c1199001.thtg2(e,tp,eg,ep,ev,re,r,rp,chk) function c1199001.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c1199001.thfilter2,tp,LOCATION_DECK,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c1199001.thfilter2,tp,LOCATION_DECK,0,1,nil,tp) end
end end
--
function c1199001.thop2(e,tp,eg,ep,ev,re,r,rp,c) function c1199001.thop2(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RESOLVECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RESOLVECARD)
local g=Duel.SelectMatchingCard(tp,c1199001.thfilter2,tp,LOCATION_DECK,0,1,1,nil,tp) local g=Duel.SelectMatchingCard(tp,c1199001.thfilter2,tp,LOCATION_DECK,0,1,1,nil,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
local te=tc:GetActivateEffect() local tetable={tc:GetActivateEffect()}
local tep=tc:GetControler() if #tetable>0 then
if not te then for i=1,#tetable do
Duel.SendtoGrave(tc,REASON_RULE) local te=tetable[i]
else local condition=te:GetCondition()
local condition=te:GetCondition() local cost=te:GetCost()
local cost=te:GetCost() local target=te:GetTarget()
local target=te:GetTarget() local operation=te:GetOperation()
local operation=te:GetOperation() if not (te:GetCode()==EVENT_FREE_CHAIN
if te:GetCode()==EVENT_FREE_CHAIN and te:IsActivatable(tep) and te:IsActivatable(tp)
and (not condition or condition(te,tep,eg,ep,ev,re,r,rp)) and (not condition or condition(te,tp,eg,ep,ev,re,r,rp))
and (not cost or cost(te,tep,eg,ep,ev,re,r,rp,0)) and (not cost or cost(te,tp,eg,ep,ev,re,r,rp,0))
and (not target or target(te,tep,eg,ep,ev,re,r,rp,0)) then and (not target or target(te,tp,eg,ep,ev,re,r,rp,0))) then
table.remove(tetable,i)
end
end
if #tetable>0 then
local effectlist={}
for i=1,#tetable do
local te=tetable[i]
effectlist[i]=te:GetDescription()
end
local op=0
if #tetable>1 then
op=Duel.SelectOption(tp,table.unpack(effectlist))
end
local te=tetable[op+1]
local condition=te:GetCondition()
local cost=te:GetCost()
local target=te:GetTarget()
local operation=te:GetOperation()
Duel.ClearTargetCard() Duel.ClearTargetCard()
e:SetProperty(te:GetProperty()) e:SetProperty(te:GetProperty())
Duel.Hint(HINT_CARD,0,tc:GetOriginalCode()) Duel.Hint(HINT_CARD,0,tc:GetOriginalCode())
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,false) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
if tc:GetType()==TYPE_SPELL then if not (tc:IsType(TYPE_FIELD+TYPE_CONTINUOUS+TYPE_EQUIP)
or tc:IsHasEffect(EFFECT_REMAIN_FIELD)) then
tc:CancelToGrave(false) tc:CancelToGrave(false)
end end
tc:CreateEffectRelation(te) tc:CreateEffectRelation(te)
te:UseCountLimit(tp,1,true) te:UseCountLimit(tp,1,true)
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end if cost then cost(te,tp,eg,ep,ev,re,r,rp,1) end
if target then target(te,tep,eg,ep,ev,re,r,rp,1) end if target then target(te,tp,eg,ep,ev,re,r,rp,1) end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local lg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
if g and g:GetCount()>0 then if lg and lg:GetCount()>0 then
local tg=g:GetFirst() for lc in aux.Next(lg) do
while tg do lc:CreateEffectRelation(te)
tg:CreateEffectRelation(te)
tg=g:GetNext()
end
end
if operation then operation(te,tep,eg,ep,ev,re,r,rp) end
tc:ReleaseEffectRelation(te)
if g and g:GetCount()>0 then
tg=g:GetFirst()
while tg do
tg:ReleaseEffectRelation(te)
tg=g:GetNext()
end end
end end
else if operation then operation(te,tp,eg,ep,ev,re,r,rp) end
Duel.SendtoGrave(tc,REASON_RULE) Duel.BreakEffect()
end Duel.Damage(tp,2000,REASON_EFFECT)
end else
Duel.Damage(tp,2000,REASON_EFFECT) Duel.SendtoGrave(tc,REASON_RULE)
end end
end
end
end 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