Commit 667fb2d3 authored by salix5's avatar salix5

Merge pull request #261 from DailyShana/patch-8

fix special win
parents 6471eece e666b644
...@@ -40,6 +40,14 @@ function c13893596.initial_effect(c) ...@@ -40,6 +40,14 @@ function c13893596.initial_effect(c)
e5:SetCondition(c13893596.recon) e5:SetCondition(c13893596.recon)
e5:SetValue(LOCATION_REMOVED) e5:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--win
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e6:SetCode(EVENT_TO_GRAVE)
e6:SetRange(LOCATION_MZONE)
e6:SetOperation(c13893596.winop)
c:RegisterEffect(e6)
end end
function c13893596.cfilter(c) function c13893596.cfilter(c)
return not c:IsAbleToDeckOrExtraAsCost() return not c:IsAbleToDeckOrExtraAsCost()
...@@ -66,18 +74,13 @@ function c13893596.filter(c,rc) ...@@ -66,18 +74,13 @@ function c13893596.filter(c,rc)
return c:IsRelateToCard(rc) and c:IsSetCard(0x40) and c:IsType(TYPE_MONSTER) return c:IsRelateToCard(rc) and c:IsSetCard(0x40) and c:IsType(TYPE_MONSTER)
end end
function c13893596.tgop(e,tp,eg,ep,ev,re,r,rp) function c13893596.tgop(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_EXODIUS = 0x14
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.SelectMatchingCard(tp,c13893596.tgfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c13893596.tgfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE) if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE)
and c:IsRelateToEffect(e) and c:IsFaceup() then and c:IsRelateToEffect(e) and c:IsFaceup() then
tc:CreateRelation(c,RESET_EVENT+0x1fe0000) tc:CreateRelation(c,RESET_EVENT+0x1fe0000)
local g=Duel.GetMatchingGroup(c13893596.filter,tp,LOCATION_GRAVE,0,nil,c)
if g:GetClassCount(Card.GetCode)==5 then
Duel.Win(tp,WIN_REASON_EXODIUS)
end
end end
end end
function c13893596.atkval(e,c) function c13893596.atkval(e,c)
...@@ -86,3 +89,11 @@ end ...@@ -86,3 +89,11 @@ end
function c13893596.recon(e) function c13893596.recon(e)
return e:GetHandler():IsFaceup() return e:GetHandler():IsFaceup()
end end
function c13893596.winop(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_EXODIUS = 0x14
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c13893596.filter,tp,LOCATION_GRAVE,0,nil,c)
if g:GetClassCount(Card.GetCode)==5 then
Duel.Win(tp,WIN_REASON_EXODIUS)
end
end
--封印されしエクゾディア --封印されしエクゾディア
function c33396948.initial_effect(c) function c33396948.initial_effect(c)
--win
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND) e1:SetCode(EVENT_TO_HAND)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetOperation(c33396948.operation) e1:SetOperation(c33396948.operation)
...@@ -33,7 +34,7 @@ function c33396948.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,7 +34,7 @@ function c33396948.operation(e,tp,eg,ep,ev,re,r,rp)
local g2=Duel.GetFieldGroup(tp,0,LOCATION_HAND) local g2=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local wtp=c33396948.check(g1) local wtp=c33396948.check(g1)
local wntp=c33396948.check(g2) local wntp=c33396948.check(g2)
if wtp and not wntp then if wtp and not wntp then
Duel.ConfirmCards(1-tp,g1) Duel.ConfirmCards(1-tp,g1)
Duel.Win(tp,WIN_REASON_EXODIA) Duel.Win(tp,WIN_REASON_EXODIA)
elseif not wtp and wntp then elseif not wtp and wntp then
......
...@@ -6,8 +6,8 @@ function c48995978.initial_effect(c) ...@@ -6,8 +6,8 @@ function c48995978.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--counter --counter
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER)
e1:SetDescription(aux.Stringid(48995978,0)) e1:SetDescription(aux.Stringid(48995978,0))
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
...@@ -16,6 +16,14 @@ function c48995978.initial_effect(c) ...@@ -16,6 +16,14 @@ function c48995978.initial_effect(c)
e1:SetTarget(c48995978.target) e1:SetTarget(c48995978.target)
e1:SetOperation(c48995978.operation) e1:SetOperation(c48995978.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--win
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAIN_SOLVING)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e2:SetOperation(c48995978.winop)
c:RegisterEffect(e2)
end end
c48995978.xyz_number=88 c48995978.xyz_number=88
function c48995978.filter(c) function c48995978.filter(c)
...@@ -43,9 +51,12 @@ function c48995978.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,9 +51,12 @@ function c48995978.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() and c:RemoveOverlayCard(tp,1,1,REASON_EFFECT) then if c:IsRelateToEffect(e) and c:IsFaceup() and c:RemoveOverlayCard(tp,1,1,REASON_EFFECT) then
c:AddCounter(0x302b,1) c:AddCounter(0x302b,1)
if c:GetCounter(0x302b)==3 then end
local WIN_REASON_DESTINY_LEO=0x17 end
Duel.Win(c:GetControler(),WIN_REASON_DESTINY_LEO) function c48995978.winop(e,tp,eg,ep,ev,re,r,rp)
end local WIN_REASON_DESTINY_LEO=0x17
local c=e:GetHandler()
if c:GetCounter(0x302b)==3 then
Duel.Win(tp,WIN_REASON_DESTINY_LEO)
end end
end end
...@@ -38,7 +38,7 @@ function c8062132.initial_effect(c) ...@@ -38,7 +38,7 @@ function c8062132.initial_effect(c)
e5:SetCode(EFFECT_IMMUNE_EFFECT) e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetValue(c8062132.efilter) e5:SetValue(c8062132.efilter)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--win --counter
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(8062132,1)) e6:SetDescription(aux.Stringid(8062132,1))
e6:SetCategory(CATEGORY_COUNTER) e6:SetCategory(CATEGORY_COUNTER)
...@@ -47,6 +47,14 @@ function c8062132.initial_effect(c) ...@@ -47,6 +47,14 @@ function c8062132.initial_effect(c)
e6:SetCondition(c8062132.ctcon) e6:SetCondition(c8062132.ctcon)
e6:SetOperation(c8062132.ctop) e6:SetOperation(c8062132.ctop)
c:RegisterEffect(e6) c:RegisterEffect(e6)
--win
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_CHAIN_SOLVING)
e7:SetRange(LOCATION_MZONE)
e7:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e7:SetOperation(c8062132.winop)
c:RegisterEffect(e7)
end end
function c8062132.efilter(e,te) function c8062132.efilter(e,te)
return te:GetOwner()~=e:GetOwner() return te:GetOwner()~=e:GetOwner()
...@@ -82,7 +90,11 @@ end ...@@ -82,7 +90,11 @@ end
function c8062132.ctop(e,tp,eg,ep,ev,re,r,rp) function c8062132.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
c:AddCounter(0x11+COUNTER_NEED_ENABLE,1) c:AddCounter(0x11+COUNTER_NEED_ENABLE,1)
if c:GetCounter(0x11)>=3 then end
Duel.Win(tp,0x12) function c8062132.winop(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_VENNOMINAGA = 0x12
local c=e:GetHandler()
if c:GetCounter(0x11)==3 then
Duel.Win(tp,WIN_REASON_VENNOMINAGA)
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