Commit 12e170b4 authored by 未闻皂名's avatar 未闻皂名

2024/2/18 调整更新

parent 8eba1dff
Pipeline #25470 passed with stages
in 8 minutes and 2 seconds
......@@ -72,7 +72,7 @@ function RushDuel._private_is_include_public(s_range, o_range)
end
-- 内部方法: 是否需要给对方确认
function RushDuel._private_is_confirm_card(c)
return c:GetSummonLocation() != LOCATION_HAND
return c:GetSummonLocation() ~= LOCATION_HAND
end
-- 内部方法: 特殊召唤
function RushDuel._special_summon(target, effect, player, position, break_effect, target_player)
......
......@@ -169,7 +169,7 @@ function RushDuel.CreateAdvanceCheck(card, filter, count, flag)
local e2 = Effect.CreateEffect(card)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e2:SetLabelObject(e1)
e2:SetCondition(RushDuel.AdvanceCheckCondition)
e2:SetOperation(RushDuel.AdvanceCheckOperation)
......
......@@ -14,13 +14,22 @@ function cm.initial_effect(c)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Material Check
--Set Attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_MATERIAL_CHECK)
e2:SetLabelObject(e1)
e2:SetValue(cm.check)
c:RegisterEffect(e2)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetLabelObject(e1)
e2:SetCondition(cm.atkcon)
e2:SetOperation(cm.atkop)
c:RegisterEffect(e2)
--Material Check
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_MATERIAL_CHECK)
e3:SetLabelObject(e2)
e3:SetValue(cm.check)
c:RegisterEffect(e3)
--Continuous Effect
RD.AddContinuousEffect(c,e1)
end
......@@ -36,28 +45,40 @@ function cm.sumop1(e,tp,eg,ep,ev,re,r,rp,c,mg)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
--Set Attack
function cm.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_VALUE_THREE)
end
function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
local atk1,atk2=e:GetLabel()
if atk1~=atk2 then
atk1=Duel.AnnounceNumber(tp,atk1,atk2)
end
e:GetLabelObject():SetLabel(atk1)
end
--Material Check
function cm.check(e,c)
if not c:IsSummonType(SUMMON_VALUE_THREE) then return end
local atk1,atk2=0,0
local mg=c:GetMaterial()
if mg:GetCount()==3 then
lv=mg:GetSum(Card.GetOriginalLevel)
atk1=mg:GetSum(Card.GetOriginalLevel)
atk2=atk1
elseif mg:GetCount()==2 then
local ng,dg=RD.SplitTribute(c)
if dg:GetCount()==1 then
lv=ng:GetFirst():GetOriginalLevel()+dg:GetFirst():GetOriginalLevel()*2
atk1=ng:GetFirst():GetOriginalLevel()+dg:GetFirst():GetOriginalLevel()*2
atk2=atk1
else
local _,max=mg:GetMaxGroup(Card.GetOriginalLevel)
lv=mg:GetSum(Card.GetOriginalLevel)+max
local lv1,lv2=mg:GetFirst():GetOriginalLevel(),mg:GetNext():GetOriginalLevel()
atk1=lv1*2+lv2
atk2=lv1+lv2*2
end
elseif mg:GetCount()==1 then
lv=mg:GetFirst():GetOriginalLevel()*3
end
if lv>0 then
e:GetLabelObject():SetLabel(lv*100)
else
e:GetLabelObject():SetLabel(0)
atk1=mg:GetFirst():GetOriginalLevel()*3
atk2=atk1
end
e:GetLabelObject():SetLabel(atk1*100,atk2*100)
end
--Atk Up
function cm.atkval(e,c)
......
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