Commit eee55359 authored by 未闻皂名's avatar 未闻皂名

2023/6/17 极大bug修复

parent e90b8b72
Pipeline #22285 passed with stages
in 6 minutes and 28 seconds
......@@ -47,32 +47,24 @@ function RushDuel.AddMaximumProcedure(c, max_atk, left_code, right_code)
RushDuel.AddHandSpecialSummonProcedure(c, aux.Stringid(120000000, 0), RushDuel.MaximumSummonCondition(left_code, right_code), RushDuel.MaximumSummonTarget(left_code, right_code),
RushDuel.MaximumSummonOperation(left_code, right_code), RushDuel.MaximumSummonValue, POS_FACEUP_ATTACK)
-- 极大攻击力
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_SET_BASE_ATTACK)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(RushDuel.MaximumMode)
e3:SetValue(max_atk)
c:RegisterEffect(e3)
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(RushDuel.MaximumMode)
e1:SetValue(max_atk)
c:RegisterEffect(e1)
-- 占用3个主要怪兽区域
local e4 = Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_MAX_MZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(1, 0)
e4:SetCondition(RushDuel.MaximumMode)
e4:SetValue(1)
c:RegisterEffect(e4)
-- 离开场上时, 所有部件一同离开
local e5 = Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_LEAVE_FIELD_P)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e5:SetCondition(RushDuel.MaximumMode)
e5:SetOperation(RushDuel.MaximumLeaveOperation)
c:RegisterEffect(e5)
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_MAX_MZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(1, 0)
e2:SetCondition(RushDuel.MaximumMode)
e2:SetValue(1)
c:RegisterEffect(e2)
end
function RushDuel.MaximumSummonFilter(c, e, tp, left_code, right_code)
return c:IsCode(left_code, right_code) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false, POS_FACEUP)
......@@ -126,20 +118,7 @@ end
function RushDuel.MaximumSummonValue(e, c)
return SUMMON_TYPE_MAXIMUM, 0x4
end
function RushDuel.MaximumMode(e)
local c = e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_MAXIMUM) and c:GetOverlayCount() > 0
end
function RushDuel.MaximumLeaveOperation(e, tp, eg, ep, ev, re, r, rp)
local c = e:GetHandler()
local loc = c:GetDestination()
local g = c:GetOverlayGroup()
if loc == LOCATION_HAND then
Duel.SendtoHand(g, nil, REASON_RULE)
elseif loc == LOCATION_DECK then
Duel.SendtoDeck(g, nil, SEQ_DECKSHUFFLE, REASON_RULE)
elseif loc == LOCATION_REMOVED then
Duel.Remove(g, POS_FACEUP, REASON_RULE)
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