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