Commit a08ffa99 authored by salix5's avatar salix5

winning effect

parent 297649de
...@@ -3,26 +3,18 @@ function c60162470.initial_effect(c) ...@@ -3,26 +3,18 @@ function c60162470.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c60162470.target) e1:SetTarget(c60162470.target)
e1:SetOperation(c60162470.tgop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetLabelObject(e1)
e2:SetCondition(c60162470.tgcon)
e2:SetOperation(c60162470.tgop)
c:RegisterEffect(e2)
--atkup --atkup
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetCode(EFFECT_UPDATE_ATTACK)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e3:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e3:SetTarget(c60162470.atktg1) e3:SetTarget(aux.ctg)
e3:SetValue(c60162470.atkval1) e3:SetValue(c60162470.atkval1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--atkup --atkup
...@@ -72,19 +64,13 @@ function c60162470.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -72,19 +64,13 @@ function c60162470.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c60162470.filter,tp,LOCATION_MZONE,0,1,1,nil,tg) Duel.SelectTarget(tp,c60162470.filter,tp,LOCATION_MZONE,0,1,1,nil,tg)
end end
function c60162470.tgcon(e,tp,eg,ep,ev,re,r,rp)
return re==e:GetLabelObject()
end
function c60162470.tgop(e,tp,eg,ep,ev,re,r,rp) function c60162470.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS):GetFirst() local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(re) and tc:IsFaceup() and tc:IsRelateToEffect(re) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
end end
end end
function c60162470.atktg1(e,c)
return e:GetHandler():IsHasCardTarget(c)
end
function c60162470.atkfilter(c) function c60162470.atkfilter(c)
return c:IsFaceup() and c:IsType(TYPE_LINK) return c:IsFaceup() and c:IsType(TYPE_LINK)
end end
......
...@@ -25,14 +25,6 @@ function c69553552.initial_effect(c) ...@@ -25,14 +25,6 @@ function c69553552.initial_effect(c)
e3:SetTarget(c69553552.rmtg) e3:SetTarget(c69553552.rmtg)
e3:SetOperation(c69553552.rmop) e3:SetOperation(c69553552.rmop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--win
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_REMOVE)
e4:SetRange(LOCATION_SZONE)
e4:SetOperation(c69553552.winop)
c:RegisterEffect(e4)
end end
function c69553552.cfilter(c) function c69553552.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x107) return c:IsFaceup() and c:IsSetCard(0x107)
...@@ -57,19 +49,17 @@ function c69553552.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,19 +49,17 @@ function c69553552.rmop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tc=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil):GetFirst() local g=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,LOCATION_HAND+LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,nil)
if tc and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 local tc=g:GetFirst()
and tc:IsSetCard(0x107) and tc:IsType(TYPE_FIELD) then if tc and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsSetCard(0x107) and tc:IsType(TYPE_FIELD) then
tc:RegisterFlagEffect(69553552,RESET_EVENT+RESETS_STANDARD,0,0) tc:RegisterFlagEffect(69553552,RESET_EVENT+RESETS_STANDARD,0,0)
local wg=Duel.GetMatchingGroup(c69553552.winfilter,tp,LOCATION_REMOVED,0,nil)
if wg:GetClassCount(Card.GetCode)==3 then
local WIN_REASON_FA_WINNERS=0x1d
Duel.Win(tp,WIN_REASON_FA_WINNERS)
end
end end
end end
function c69553552.winfilter(c) function c69553552.winfilter(c)
return c:IsSetCard(0x107) and c:IsType(TYPE_FIELD) and c:GetFlagEffect(69553552)~=0 return c:IsSetCard(0x107) and c:IsType(TYPE_FIELD) and c:GetFlagEffect(69553552)~=0
end end
function c69553552.winop(e,tp,eg,ep,ev,re,r,rp)
local WIN_REASON_FA_WINNERS=0x1d
local g=Duel.GetMatchingGroup(c69553552.winfilter,tp,LOCATION_REMOVED,0,nil)
if g:GetClassCount(Card.GetCode)==3 then
Duel.Win(tp,WIN_REASON_FA_WINNERS)
end
end
...@@ -542,7 +542,7 @@ EFFECT_ADD_LINK_RACE =357 --用作连接素材时的种族 ...@@ -542,7 +542,7 @@ EFFECT_ADD_LINK_RACE =357 --用作连接素材时的种族
EFFECT_EXTRA_LINK_MATERIAL =358 --手卡的连接素材 EFFECT_EXTRA_LINK_MATERIAL =358 --手卡的连接素材
EFFECT_QP_ACT_IN_SET_TURN =359 --速攻魔法可以在盖放的回合发动 EFFECT_QP_ACT_IN_SET_TURN =359 --速攻魔法可以在盖放的回合发动
EFFECT_EXTRA_PENDULUM_SUMMON =360 --extra pendulum summon EFFECT_EXTRA_PENDULUM_SUMMON =360 --extra pendulum summon
EFFECT_IRON_WALL =361 --玩家已受到"不能除外"的效果影響 EFFECT_IRON_WALL =361 --玩家已受到"不能除外"的效果影響
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发) --下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时 EVENT_STARTUP =1000 --游戏开始时
......
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