Commit 638402c6 authored by wyykak's avatar wyykak

fix season mechanism

Provided by: kritosoft
Signed-off-by: wyykak's avatarwyykak <wyy_1414@126.com>
parent 773b50ff
Pipeline #10128 passed with stage
in 1 minute and 1 second
This diff is collapsed.
......@@ -71,7 +71,12 @@ function c1192020.ofilter2(c)
end
function c1192020.op2(e,tp,eg,ep,ev,re,r,rp)
--
if Duel.IsExistingMatchingCard(c1192020.ofilter2,tp,0xff,0xff,1,nil) then Nef.SetCommonCounter(1,999104,tp) end
Debug.Message(Nef.PLCounter.Get(tp,999104))
if Nef.PLCounter.Get(tp,999104)~=0 then
local a=Nef.PLCounter.Get(tp,999104)
Nef.PLCounter.Add(tp,999104,1-a)
Nef.PLCounter.Add(1-tp,999104,1-a)
end
--
if Duel.Recover(tp,1500,REASON_EFFECT)<1 then return end
--
......
--幻想时令『四时之兆』
local M = c999104
local Mid = 999104
require("expansions/script/nef/nef")
function M.initial_effect(c)
--
--
aux.AddCodeList(c,1192020)
--
Nef.CommonCounterGroup(c, Mid)
if M.counter == nil then
M.counter = true
local ge0=Effect.CreateEffect(c)
ge0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
ge0:SetCode(EVENT_PHASE_START+PHASE_STANDBY)
ge0:SetOperation(M.addcount)
Duel.RegisterEffect(ge0, 0)
end
Nef.SeasonChange(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetOperation(function (e,tp,eg,ep,ev,re,r,rp)
Nef.RefreshCommonCounter(c, Mid)
end)
c:RegisterEffect(e0)
--
......@@ -54,16 +42,6 @@ function M.initial_effect(c)
c:RegisterEffect(e3)
end
function M.addcount(e,tp,eg,ep,ev,re,r,rp)
for p = 0, 1 do
if Nef.GetCommonCounter(Mid, p) < 4 then
Nef.AddCommonCounter(1, Mid, p)
else
Nef.AddCommonCounter(-3, Mid, p)
end
end
end
function M.filter1(c)
return c:IsSetCard(0x123) and c:IsAbleToHand()
end
......@@ -92,7 +70,7 @@ end
function M.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk == 0 then
local flag = Nef.GetCommonCounter(Mid, tp)
local flag = Nef.PLCounter.Get(tp,Mid)
local list = {20200, 22400, 23300, 10100}
return flag > 0 and Duel.IsExistingMatchingCard(M["filter"..flag], tp, LOCATION_DECK, 0, 1, nil)
and Duel.IsExistingMatchingCard(M.filter, tp, LOCATION_DECK, 0, 1, nil, list[flag])
......@@ -101,7 +79,7 @@ function M.target(e,tp,eg,ep,ev,re,r,rp,chk)
end
function M.operation(e,tp,eg,ep,ev,re,r,rp)
local flag = Nef.GetCommonCounter(Mid, tp)
local flag = Nef.PLCounter.Get(tp,Mid)
local list = {20200, 22400, 23300, 10100}
if flag > 0 and Duel.IsExistingMatchingCard(M["filter"..flag], tp, LOCATION_DECK, 0, 1, nil)
and Duel.IsExistingMatchingCard(M.filter, tp, LOCATION_DECK, 0, 1, nil, list[flag]) then
......@@ -129,6 +107,9 @@ function M.seasonop(e,tp,eg,ep,ev,re,r,rp)
[10100] = 4,
}
if list[code] then
Nef.SetCommonCounter(list[code], Mid, tp)
local a=Nef.PLCounter.Get(tp,Mid)
local b=list[code]
Nef.PLCounter.Add(tp,Mid,b-a)
Nef.PLCounter.Add(1-tp,Mid,b-a)
end
end
......@@ -102,8 +102,6 @@ function M.activate(e,tp,eg,ep,ev,re,r,rp)
local cost = te:GetCost()
if cost then cost(te, tep, eg, ep, ev, re, r, rp, 1) end
Duel.RaiseEvent(tc, EVENT_CHAIN_SOLVED, tc:GetActivateEffect(), 0, tp, tp, Duel.GetCurrentChain())
Nef.RefreshCommonCounter(tc, 999104)
end
-- immune
......@@ -136,11 +134,11 @@ end
function M.tokentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local flag = Nef.GetCommonCounter(999104, tp)
local flag = Nef.PLCounter.Get(tp,999104)
local list = {
[1] = {25161, 0x208, 0x4011, 2000, 2000, 5, RACE_PLANT, ATTRIBUTE_LIGHT},
[2] = {25160, 0x208, 0x4011, 1000, 1000, 1, RACE_PLANT, ATTRIBUTE_LIGHT},
[3] = {999300, 0x208, 0x4011, 0, 0, 2, RACE_PLANT, ATTRIBUTE_EARTH},
[3] = {999300, 0x208, 0x4011, 0, 0, 2, RACE_PLANT, ATTRIBUTE_EARTH},
[4] = {999999, 0x208, 0x4011, 900, 900, 9, RACE_AQUA, ATTRIBUTE_WATER},
}
return flag > 0 and Duel.GetLocationCount(tp, LOCATION_MZONE) > 0
......@@ -151,12 +149,12 @@ function M.tokentg(e,tp,eg,ep,ev,re,r,rp,chk)
end
function M.tokenop(e,tp,eg,ep,ev,re,r,rp)
local flag = Nef.GetCommonCounter(999104, tp)
local flag = Nef.PLCounter.Get(tp,999104)
local list = {
[1] = {25161, 0x208, 0x4011, 2000, 2000, 5, RACE_PLANT, ATTRIBUTE_LIGHT},
[2] = {25160, 0x208, 0x4011, 1000, 1000, 1, RACE_PLANT, ATTRIBUTE_LIGHT},
[3] = {999300, 0x208, 0x4011, 0, 0, 2, RACE_PLANT, ATTRIBUTE_EARTH},
[4] = {999999, 0x208, 0x4011, 900, 900, 9, 0x40, ATTRIBUTE_WATER},
[3] = {999300, 0x208, 0x4011, 0, 0, 2, RACE_PLANT, ATTRIBUTE_EARTH},
[4] = {999999, 0x208, 0x4011, 900, 900, 9, 0x40, ATTRIBUTE_WATER},
}
local ft = Duel.GetLocationCount(tp, LOCATION_MZONE)
local c = e:GetHandler()
......
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